(Ubuntu)Lazarus TCheckListBox OnDraw何时出现?

时间:2013-12-16 07:11:05

标签: ubuntu-12.04 lazarus tchecklistbox

目标:我正在尝试使TCheckListBox控件上的前3个项目以粗体显示。 lstMenuPermissions是我的控制。

所以我尝试了这个:

procedure TfrmPermissions.lstMenuPermissionsDrawItem(Control: TWinControl;
  Index: Integer; ARect: TRect; State: TOwnerDrawState);
begin      
  if index < 3 Then 
    with (Control as TCheckListBox).Canvas do
      begin
        Font.Bold := True;           
        TextOut(ARect.Left, ARect.Top, (Control as TCheckListBox).Items[Index]);
      end;

end;  

没有效果,所以我想到检查事件是否在第一时间被解雇并且我尝试了这个:

procedure TfrmPermissions.lstMenuPermissionsDrawItem(Control: TWinControl;
  Index: Integer; ARect: TRect; State: TOwnerDrawState);
begin
  ShowMessage('OK');
end;  

我还将Style设置为 lbOwnerDrawFixed

但是没有消息框。所以我猜这个事件没有解雇。也许我做错了什么。请告知我应该怎么做。

谢谢!

0 个答案:

没有答案