SetFont()函数不适用于wxFrame

Elm*_*lmi 3 c++ fonts wxwidgets

我有一段很简单的代码为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);
Run Code Online (Sandbox Code Playgroud)

我的问题:它不起作用!wxMessageBox,wxFrame的标题栏或任何其他子级都不使用这种更大的字体。

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

谢谢!

VZ.*_*VZ. 5

wxFrame字体将由其(非顶级)子级继承,因此对其进行设置并非完全没有用,但是不会将其用于标题栏或显示的任何消息框,因为两者都使用系统定义的字体超出了应用程序的控制范围。