ActiveX控件处于焦点状态时是不是只能处于所以窗口的最上面,我有一个对话框,我把它设置为最顶层窗口,然后我生成了一个ActiveX控件并获得焦点,为什么ActiveX控件只能显示在该对话框的上方,我怎么才能让它显示在别的窗口上方,但处于对话框窗口的下方,急!在线等!

解决方案 »

  1.   

    调用SetWindowPos函数设置窗口Z序
    SetWindowPos(hwnd,hwndInsertAfter,X,Y,cx,cy,flag);
    //指定hwnd定位在hwndInsertAfter之后;
      

  2.   

    SetWindowPos函数只需要调用一次,
    设置hwndInsertAfter参数为HWND_TOPMOST,则可将窗口设置在所有窗口的前面
    将第一次设为最顶层的窗口设置此属性即可
    ----------------------------------------
    你说的得到焦点,只是激活窗口;如果此时其它窗口没有设为最前,那么这个激活的窗口就显示在最前面,但这个窗口的Z序不是最前的。
      

  3.   

    我有一个窗口我用SetWindowPos()函数设置为Z序的最前面,我想不管什么情况下它都显示在所有窗口的最前方。在一般情况下是可以达到目的的,但我点击控件ComBox时,下拉的列表框就会处于最前方,遮住了这个位于Z序最上方的窗口,我该怎么让下拉列表框也处于该窗口的下方呢,我试了很久了,一直不能解决,希望大哥能出手相救,分不是问题。