【问题标题】:How to increase size of font in MessageBox c++ builder如何在MessageBox c ++ builder中增加字体大小
【发布时间】: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) 中的字体。
  • 如果您需要一个不是标准消息框的消息框,您必须实现自己的消息框。您尝试实施的方案不受支持。它会以多种方式失败(例如,文本大小或布局不正确)。
  • 你真的需要阅读documentationMessageBoxhWnd 参数指定它的所有者。无论如何,你正在尝试的事情不会有好的结局。如果您需要自定义对话框,请实现自定义对话框。
  • 如果您想要一个不创建自定义消息框的解决方案,那么您无法更改字体。真的那么难消化吗?
  • @Programmer 您在谈论窗口挂钩解决方案,但在您发布的代码中没有尝试进行任何窗口挂钩

标签: c++ winapi fonts c++builder-6


【解决方案1】:

在 C++Builder 中没有什么特别用于更改 MessageBox 中的字体。您的选择是:

  • 制作自定义对话框
  • 使用窗口挂钩通过 Windows API 更改默认 MessageBox。

通过this thread 上的链接示例更详细地描述了这两者。如果您尝试了该线程中的某些内容但没有成功,请将您尝试过的代码作为新问题发布。

【讨论】:

    猜你喜欢
    • 2013-04-03
    • 2014-12-15
    • 2010-10-10
    • 2017-10-07
    • 2014-09-22
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    相关资源
    最近更新 更多