在Dialogs
單元沒有在MessageDlg
函數用於創建消息形式功能CreateMessageDialog: TForm
。你可以用一些定製使用表格顯示前:
procedure TForm5.Button1Click(Sender: TObject);
var
i: Integer;
begin
with CreateMessageDialog('- Lorem ipsum dolor sit amet.', mtInformation, [mbOk], mbOk) do
try
// Sets font for whole form including buttons
{
Font.Name := 'Times New Roman';
Font.Size := 12;
}
// Sets font for label(s) only
for i := 0 to ControlCount - 1 do
if Controls[i] is TLabel then
with Controls[i] as TLabel do
begin
Font.Name := 'Times New Roman';
Font.Size := 12;
end;
ShowModal;
finally
Free;
end;
end;
'ShowMessage'使用系統字體,我懷疑你可以在沒有系統變化的情況下改變它 –
你可以創建一個表單,在其上放置一個標籤,設置標籤的字體和大小。當你想顯示你的信息時,在該表單上做一個ShowModal。 –
輕鬆使用自定義窗體來顯示消息;困難之處在於:使用CBT鉤子捕獲Windows對話框的句柄,然後檢查「HCBT_ACTIVATE」代碼,最後使用「WM_SETFONT」消息更改字體。 – RRUZ