我在我的应用程序里用CreateWindowEx一个新的窗口,然后把他显示出来,要求是把窗口一直置于最最最前端,但是,焦点必须不能在这个窗口上的,(也就是ShowWindow后焦点不在这个窗口上,而是之前哪个窗口是焦点,我的窗口显示出来之后那个窗口依然是焦点)请问下这个的思路是怎样的?怎么实现?

解决方案 »

  1.   

    之前先加载好。隐藏起来。用 ShowWindow 显示出来,不会转移焦点。
      

  2.   

    这个很容易啊
    void CTstDisableDlg::OnButton8() 
    {
    m_dlgBt8_1.SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE   |SWP_NOSIZE   );
    SetActiveWindow(); //执行完之后,焦点落在主窗口的按钮8上}
      

  3.   

    用MoveWindow移动。事实上 Tooltips 提示小标签就是这样一个窗口,并不是每次都创建,而是显示/隐藏/移动。不信你可以用 SPY++ 看到。
      

  4.   

    解决了,用movewindow不错不过我在ShowWindow之前加了一个getforecewindow,和在之后加了一个setforecewindow,这样的效果不错