![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
CheckListBox и OwnerDraw-некорректная работа. [D7, WinXP]
gear © (2008-05-19 20:36:00)Такая вот проблема:
Имею список checklistbox c установленными галками. При установке свойства OwnerDrawFixed и прорисовке текста вручную, галки оказвываются снятыми. Только наведение фокуса на строчку заставляет появиться галку. Перерисовка checklistbox опять снимает все галки. Всё это происходит при использовании классического стиля в XP. При использовании стиля Windows XP - всё отрисовывается корректно.
Отрисовываю строчки стандартно:
procedure TForm4.CheckListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
S:PChar;
begin
with (Control as TCheckListBox), Canvas do
begin
Canvas.FillRect(Rect);
MoveTo(Rect.Left, Rect.Top);
SetTextAlign(Canvas.Handle, TA_LEFT OR TA_UPDATECP);
S:=PChar('test');
Canvas.Font:=CheckListBox1.Font;
Canvas.TextOut(0,0,S);
end;
end;
Использую Turbo Delphi Professional.
Что это может быть? Баг в Delphi? Ведь при стиле Windows XP отрисовывается всё правильно. Можно ли это исправить?
Leonid Troyanovsky (2008-05-19 21:31:00) [1]
> gear (19.05.08 20:36)
> свойства OwnerDrawFixed и
http://groups.google.com/group/borland.public.delphi.vcl.components.using/msg/9dccd8f57b37ef6d
--
Regards, LVT.