掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MessageDlgのMsgセクションのフォントを大きくする方法はありますか? (ID:8442)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> タイトルの通りですが、方法はあるのでしょうか? MessageDlg 関数を実行すると、動的に TForm の派生クラス TMessageForm を作成し それにボタン類とラベルとImage(アイコン用)を作成します。ですから、動的に作成さ れる前に、Label のフォントを設定できません。しかし、作成された後なら、設定できます。こんな感じです。 public procedure WMApp(var Msg:TMessage);message WM_APP; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin PostMessage(Handle,WM_APP,0,0); MessageDlg('あいうえお',mtInformation,[mbOk],0); end; procedure TForm1.WMApp(var Msg: TMessage); var i:integer; begin for i := 0 to Screen.ActiveForm.ComponentCount-1 do if Screen.ActiveForm.Components[i] is TLabel then begin TLabel(Screen.ActiveForm.Components[i]).Font.Size := 12; exit; end; end; しかし、このメッセージフォームの幅は、フォントサイズの変更前の長さをもとに 計算され ていますので、フォントを大きくすると折り返してしまいます。動的に ClientWidth を 変更できますが、ボタンの位置が左に片寄りますし幅の計算が面倒です。結論として > 別にフォームを作ったほうが良いでしょうか? のほうがいいようです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.