2011-12-13 99 views
0

我们有一个MFC MDI应用程序,可在操作过程中将焦点设置为给定的控件,例如,如果操作的结果更适合不同的选项卡,它可能会更改活动选项卡。MFC:如何在将焦点设置到子窗口时防止应用程序成为前景窗口

如果应用程序在发生SetFocus时有焦点,这很好,选项卡更改并且正确的控件具有焦点。但是,如果应用程序没有焦点(即用户在等待操作完成时单击另一个应用程序),则子窗口上的SetFocus会导致在父MDI框架中发生OnActivate,并且该应用程序将成为前景窗口。

如果用户在另一个应用程序中工作,我们如何将SetFocus设置为没有整个应用程序的子窗口变为前景窗口。

+0

呃,奇怪,不应该发生。有没有人搞乱AttachThreadInput()? –

+0

不是我所知道的,但这是MFC,并且背景中有很多事情正在进行。 – snowdude

回答

0

您是否尝试使用CDialog :: GotoDlgCtrl更改焦点?

+0

感谢您的回答。我正在设置的实际控制是CWnd派生的不是CDialog。 – snowdude