问题描述:
MFC创建托盘图标,存在托盘双击显示界面的方法
如果界面已经打开,但是被其他界面遮挡,双击图标时界面不能显示在最前面
问题原因:
双金完成后没有设置焦点,程序界面非第一焦点,导致无法显示在最前面,将焦点设置一下,即可
解决办法:
若托盘处理方法是在主窗口的类中,在托盘图标的双击事件处理方法的ShowWindow(SW_SHOW)调用后,添加以下两句
SetForegroundWindow();
SetFocus();
如果托盘处理是封装出来的,在获取了主窗口的句柄,则改成以下两句
pWnd->SetForegroundWindow();
pWnd->SetFocus();