Конференция "Основная" » CheckListBox и OwnerDraw-некорректная работа. [D7, WinXP]
 
  • gear (19.05.08 20:36) [0]
    Такая вот проблема:
    Имею список 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 © (19.05.08 21:31) [1]

    > gear   (19.05.08 20:36)  

    > свойства OwnerDrawFixed и

    http://groups.google.com/group/borland.public.delphi.vcl.components.using/msg/9dccd8f57b37ef6d

    --
    Regards, LVT.
 
Конференция "Основная" » CheckListBox и OwnerDraw-некорректная работа. [D7, WinXP]
Есть новые Нет новых   [134491   +8][b:0][p:0.001]