Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2013, 21:20   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Все тот же VirtualStringTree. Возникла необходимость зарисовать Node, т.е. отображаемый текст перечеркнуть и изменить цвет на серый. В каком событии и как это делать?

Посмотрел все Draw, Paint события. Там даются TCanvas и string(текст ветви) я в недоумении..

[update]
Тьфу ты... это же TCanvas! Проблема решилась... Событие: OnPaintText

Последний раз редактировалось Человек_Борща; 08.02.2013 в 22:02.
Человек_Борща вне форума Ответить с цитированием
Старый 09.02.2013, 13:11   #12
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Другая проблема:
Сделал возможность выбора элементов:
Код:
var
  Node: PVirtualNode;
begin
  Tree.BeginUpdate;
  if OnlyCkeckedItemsChk.Checked then
  begin
    Node := Tree.GetFirst;
    while Node <> nil do
    begin
      Node.CheckType := ctCheckBox;
      if not(vsInitialized in Node.States) then
        Tree.ReinitNode(Node, False);
      Node := Tree.GetNext(Node);
    end;
  end
  else
  begin
    Node := Tree.GetFirst;
    while Node <> nil do
    begin
      Node.CheckType := ctNone;
      Node := Tree.GetNext(Node);
    end;
  end;
  Tree.EndUpdate;
end;
У меня динамический Header и если убрать первую колонку, то checkbox'ов вообще нет, но они есть. Как это исправить?
Человек_Борща вне форума Ответить с цитированием
Старый 11.02.2013, 00:01   #13
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Не особо уверен, что верно понял, но VST может размещать checkbox'ы только в той колонке, чей индекс задан вот в этом свойстве:
Код:
Tree.Header.MainColumn := 0;
Поэтому, если вы убираете первую колонку, тогда и значение MainColumn нужно поменять на индекс другой колонки.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить программу так, чтобы круг двигался не по прямой, а по какому - нибудь другому закону.Например,по какой-нибудь кривой kg250493 C++ Builder 2 24.11.2012 13:44
Куда пойти, куда податься Delрhi Свободное общение 4 06.02.2012 12:39
Использование компонента idUdpClient без компонента TForm. Riply Компоненты Delphi 2 18.02.2011 21:21
Куда отследить куда утекает память? TwiX Общие вопросы Delphi 6 02.03.2010 03:10