如何在wxWidgets中手动激活帧?

时间:2012-01-09 16:20:58

标签: wxwidgets

我有wxWidget应用程序。在我的MainFrame上的某个地方,我创建了新的框架并在其上调用Show。但是,如果用户再次执行此操作,我不想创建新框架。我想激活前一个。我存储指向创建框架的指针,但我不知道如何向他发送激活命令?我试图在createdFrame-> ProcessEvents中发送ActivatedEvent,但没有任何意义。

是否可以将激活命令发送到帧wxWidgets?

1 个答案:

答案 0 :(得分:0)

要获取窗口的焦点,请调用方法SetFocus()

wxFrame * pFrame = new wxFrame( ... );

...

pFrame->SetFocus();

http://docs.wxwidgets.org/stable/wx_wxwindow.html#wxwindowsetfocus

我想知道你为什么要这样做?有点奇怪!通常,当用户点击窗口时,人们会将操作系统留在操作系统中。事实上,wxFrame几乎没有得到关注,因为它可以用它做很少(没什么?)。通常会发生的是帧中包含的一个小部件获得焦点 - 例如文本控件,以便用户可以开始输入它。

也许这就是你真正想做的事情?在这种情况下,程序如下: