目标:我试图使 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。
但是没有消息框。所以我猜这个事件没有触发。也许我做错了什么。请告知我应该如何解决这个问题。
谢谢!