首页 > 解决方案 > SetFont() 函数不适用于 wxFrame

问题描述

我有一段非常简单的代码来为我的 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 的标题栏以及任何其他子项都没有使用这种更大的字体。

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

谢谢!

标签: c++fontswxwidgets

解决方案


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


推荐阅读