Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.02;
Скачать: CL | DM;

Вниз

вопрос о странном глюке стандартных цветовых констант   Найти похожие ветки 

 
Starkom ©   (2003-09-19 13:55) [0]

Наипростейший текст:
в ТриВью добавьте несколько элементов.

procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
Sender.Canvas.Brush.Color := clWindow;
Sender.Canvas.Font.Color := clWindowText;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TreeView1.Enabled := not TreeView1.Enabled;
end;

Теперь понажимайте кнопочку. Затем замените clWindowText на clBlack или clRed. Понажимайте кнопочку. Видите разницу?
Для тех, кто не хочет этого делать - есть глюк именно с clWindowText. Хочется, чтобы при задисаблении ТриВью рисовался также, как и при енабленном состоянии. При clBlack или clRed все нормально - фон clWindow, а шрифт - clBlack или clRed. Но не хочется делать, полагаясь на цветовые настройки винды. Но при присвоении фонту цвета clWindowText, почему-то меняется и цвет фона!
Может кто-нибудь объяснить?


 
MBo ©   (2003-09-19 14:01) [1]

Sender.Canvas.Brush.Style := bsClear;


 
Starkom ©   (2003-09-19 14:04) [2]

Спасибо!
Но механизма я все равно не понял. Почему неожиданный эффект возникает только при использовании clWindowText?


 
MBo ©   (2003-09-19 14:09) [3]

Навскидку не ясно. Трассировать надо.
С другими системными тоже неоднозначно.


 
Starkom ©   (2003-09-19 14:13) [4]

TTreeView.HideSelection на системные цвета тоже как-то нехорошо влияет.



Страницы: 1 вся ветка

Текущий архив: 2003.10.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
1-3880
Хой
2003-09-17 16:51
2003.10.02
Как отловить адрес... (WWW)


3-3773
Юлия
2003-09-15 07:37
2003.10.02
Вопрос по установке программы


4-4169
Nicky
2003-07-30 18:25
2003.10.02
как сделать, чтоб showmessage не прятался под другими окнами


4-4157
Vyacheslav
2003-07-29 17:01
2003.10.02
Как отловить завершение(закрытие) чужого приложения в Виндовс


14-4078
Anatoly Podgoretsky
2003-09-12 14:22
2003.10.02
Зверские анектоды