【问题标题】:SetFont()-function does not work for wxFrameSetFont() 函数不适用于 wxFrame
【发布时间】:2019-12-28 12:17:20
【问题描述】:

我有一段非常简单的代码来为我的 wxFrame 设置三倍大的字体:

MainWin::MainWin()
       : wxFrame(NULL, wxID_ANY,wxEmptyString,
                 wxPoint(20,10), wxSize(1000, 600),
                 wxDEFAULT_FRAME_STYLE)
{
   wxFont font=GetFont();
   font=font.Scale(3.0);
   bool done=SetFont(font);

   wxMessageBox("test", "test", 5, this);

我的问题:它不起作用! wxMessageBox 和 wxFrame 的标题栏以及任何其他子项都没有使用这种更大的字体。

所以...知道这里出了什么问题吗?

谢谢!

【问题讨论】:

  • 标题栏可能在窗口管理器的控制之下。 wxMessageBox() 可能确实管理自己的字体样式。
  • 关于wxMessageBox(),我在wxWidgets 论坛中找到了Custom font for wxMessageBox。看来,wxMessageBox() 根本没有可修改的字体。

标签: c++ fonts wxwidgets


【解决方案1】:

wxFrame 字体将被其(非顶层)子代继承,因此设置它并非完全没用,但它既不会用于其标题栏,也不会用于它显示的任何消息框,因为两者那些使用不受应用程序控制的系统定义字体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-24
    • 2015-09-09
    • 2017-11-22
    • 1970-01-01
    • 2018-12-24
    相关资源
    最近更新 更多