1

目的: 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に設定しました。

ただし、メッセージボックスはありません。だから私はイベントが発生していないと推測しています。多分私は何か間違ったことをしています。これについてどのように取得すればよいかアドバイスしてください。

ありがとう!

4

0 に答える 0