掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TListViewのカスタム描画で不具合? (ID:148451)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
過去の記事をいろいろと見ていたら、解決方法を見つけて、自己解決しました。 TfrmNotificationCtrl = class(TForm) : private procedure OnListViewFontChange(Sender: TObject); : end; procedure TfrmNotificationCtrl.FormShow(Sender: TObject); begin : lstNotificationList.Font.OnChange := OnListViewFontChange; end; procedure TfrmNotificationCtrl.OnListViewFontChange(Sender: TObject); begin TFont(Sender).Size := lstNotificationList.Font.Size; TFont(Sender).Name := lstNotificationList.Font.Name; end; procedure TfrmNotificationCtrl.lstNotificationListCustomDrawSubItem( Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); var R: TRect; begin if SubItem = 3 then begin DefaultDraw := False; SetBkMode(lstNotificationList.Canvas.Handle, TRANSPARENT); ListView_GetSubItemRect(Sender.Handle, Item.Index, SubItem, LVIR_BOUNDS, @R); {重要度の表示} if TQCNotification(Item.Data).IMPORTANT_FLG.Boolean then begin Sender.Canvas.Draw(R.Left+1, R.Top + ((R.Bottom-R.Top) - imgImportant.Height) div 2, imgImportant.Picture.Bitmap); end; end; //追加しました Sender.Canvas.Font.OnChange(Sender.Canvas.Font); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.