Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо