На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
  
> TVirtualStringTree
    Вообщем проблемка такая:
    Есть список VST и я пытаюсь закрасить каждую строчку нужным цветом. Раскраска получается, но закрашивается строка по ширине где есть столбцы. Мне же нужно, чтобы окраска происходила по всей ширине VST.
    Закрашиваю так:
    ExpandedWrap disabled
      procedure TfrmMain.vtTransactionsBeforeCellPaint(Sender: TBaseVirtualTree;
        TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
        CellPaintMode: TVTCellPaintMode; CellRect: TRect; var ContentRect: TRect);
      var
        NodeInfo: PTransaction;
        R: TRect;
      begin
        NodeInfo := Sender.GetNodeData(Node);
        R := CellRect;
        Dec(R.Top, 1);
        Dec(R.Bottom, 1);
        Dec(R.Left, 1);
        case NodeInfo^.tTypeId of
          TRANSACTION_TYPE_EXPENSE:
          begin
            TargetCanvas.Brush.Color := Settings.ExpenseColor;
            TargetCanvas.FillRect(R);
          end;
          TRANSACTION_TYPE_INCOME:
          begin
            TargetCanvas.Brush.Color := Settings.IncomeColor;
            TargetCanvas.FillRect(R);
          end;
          TRANSACTION_TYPE_TRANSFER:
          begin
            TargetCanvas.Brush.Color := Settings.TransferColor;
            TargetCanvas.FillRect(R);
          end;
          TRANSACTION_TYPE_DEBT:
          begin
            TargetCanvas.Brush.Color := Settings.DebtsColor;
            TargetCanvas.FillRect(R);
          end;
        end;
      end;

    Прикреплённый файлПрикреплённый файл____________.JPG (44,9 Кбайт, скачиваний: 550)
    Сообщение отредактировано: DemonXpPro -
      Если колонка последняя, то расширить R до правой границы
        Цитата MBo @
        Если колонка последняя, то расширить R до правой границы

        Попробовал, но не работает.
        Сделал R.Right := 9999 для пробы, также заливает только в пределах колонки.
        Возможно нужно использовать событие OnBackgroundPaint, но событие не срабатывает почему то.
        Сообщение отредактировано: DemonXpPro -
          А если сделать пустую колонку справа?
            Цитата MBo @
            А если сделать пустую колонку справа?

            Придется еще мониторить ее размеры, чтобы если остальные колонки не шире самого VST, тогда подгонять ее размер так, чтобы не появлялся горизонтальный скрол, меня это не устраивает, ибо костыль. Хочется сделать правильно и красиво.
              Column.AutoSpring ?
                Цитата Fr0sT @
                Column.AutoSpring ?

                Не помогает
                  Значит, неправильно готовишь. Мне помогает
                    Цитата Fr0sT @
                    Значит, неправильно готовишь. Мне помогает

                    Не поделишься рецептом?)
                      AutoSpring
                        Последнему столбцу делаешь Options.coAutoSpring=True, всё.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0451 ]   [ 17 queries used ]   [ Generated: 28.03.24, 16:12 GMT ]