atl组件在IE中,这个组件又create一个窗口,窗口的属性是ws_child 父窗口是IE,但是这个窗口会遮挡住IE滚动条,怎么能让它不遮挡住滚动条呢? 我研究了一下flash在IE上的窗口,用spy++一看,我窗口的属性和父窗口和flash在IE上的窗口是一样的,但是flash的窗口就能很好的处理滚动条之间遮挡的问题,哪位高手若能解得 600分送上

解决方案 »

  1.   

    能否抽取最简单的部分发给我看看?
    [email protected]
      

  2.   

    SetWindowPos中不是有个参数为设置Zorder的吗?遮挡不遮挡是不是和工作区有关系?Set/GetWindowPlacement是否有用?
    试验吧
      

  3.   

    你创建的窗口不会是属性有没有WS_CHILD?
      

  4.   


    给俺看看好吗  [email protected]
      

  5.   

    父窗口应该是IE包裹的webbrowser的窗口 ,而不应该是IE的框架窗口 ?
      

  6.   


    我建议使用无窗口控件这个程序需要窗口的,里面有很多UI父窗口和flash的一样,但是flash的可以,我的不可以!
      

  7.   

    不知道你是怎么样获得IE窗口的。
    不管你怎么获得的,我有一个解决方案可以忽视这个问题。在控件初始化函数里面,把你的控件m_bWindowOnly置为TRUE,这样IE会首先给你创建一个窗口,当然,它的父窗口是IE的Internet Explorer_Server,然后你利用这个窗口作为父窗口,在里面创建子窗口,你的问题一定会解决。
    留下你的email,我给你发个样板吧。
      

  8.   

    其实也不需要什么例子,ATL自己生成的基于标准Window控件的ActiveX控件都是采用这种方法的。
      

  9.   

    http://202.101.18.149:5240/download/atlcontrol.zip
    这是我的例子。