掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
GroupBoxのCaption表示を中央にするには (ID:40671)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そのFormのGroupBoxは全て変わります。 Formの宣言の前に下記を追加、usesにthemesを追加 TGroupBox = class(StdCtrls.TGroupBox) protected procedure Paint; override; end; 実装部分は、まずStdCtrlsのTCustomGroupBox.Paintをコピー。 テーマ有効時のテキスト描画位置のCaptionRectを修正する。 if ThemeControl(Self) then begin if Text <> '' then begin ブロックの一番下に OffsetRect(CaptionRect, Width div 2 - 8 - CaptionRect.Right div 2, 0); を追加。 ThemeServices.DrawText(Handle, Details, Text, CaptionRect, DT_LEFT, 0); を のDT_LEFTをDT_CENTERに変更。 テーマ無効時のRを修正する。 Flags := DrawTextBiDiModeFlags(DT_SINGLELINE); の行の前に R := Rect(Width div 2 - Canvas.TextWidth(Text) div 2 - 8, 0, 0, H); を追加、またDT_SINGLELINEをDT_SINGLELINE OR DT_CENTERに変更。 一応こんな感じで中央表示になりました。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.