【发布时间】:2023-03-06 16:39:01
【问题描述】:
*我正在使用 c++ builder (bcb6)
我想在不创建自定义消息框的情况下放大消息框的字体大小。
我在google上搜索,发现WM_SETFONT可以使用。
我试过了:
HWND hWnd = CreateWindowEx(0,"WC_DIALOG","Questions!", WS_OVERLAPPEDWINDOW | WS_VISIBLE,400, 100, 100, 100,NULL, NULL, NULL, NULL);
HFONT hFont=CreateFont (30, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial");
SendMessage (hWnd, WM_SETFONT, WPARAM (hFont), TRUE);
MessageBox(hWnd,message.c_str(),"Info",MB_OK | MB_ICONINFORMATION);
而且它不工作..
有什么建议吗?
非常感谢您的帮助。
【问题讨论】:
-
您无法更改 MessageBox (read this) 中的字体。
-
如果您需要一个不是标准消息框的消息框,您必须实现自己的消息框。您尝试实施的方案不受支持。它会以多种方式失败(例如,文本大小或布局不正确)。
-
你真的需要阅读documentation。
MessageBox的 hWnd 参数指定它的所有者。无论如何,你正在尝试的事情不会有好的结局。如果您需要自定义对话框,请实现自定义对话框。 -
如果您想要一个不创建自定义消息框的解决方案,那么您无法更改字体。真的那么难消化吗?
-
@Programmer 您在谈论窗口挂钩解决方案,但在您发布的代码中没有尝试进行任何窗口挂钩
标签: c++ winapi fonts c++builder-6