为什么给ActiveX Form设置窗体区域没用啊?(用SetWindowRegion)
gloom 2002-10-17 11:33:29 为什么给ActiveX Form设置窗体区域没用啊?(用SetWindowRegion)
我想做一个在IE上用的AciveXForm,在其中想用SetWindowRgn更改窗体的形状,但屡遭失败,请高手赐教并施以援手啊.
试验一:
在OnCreate中使用SetWindowRgn,无效果,猜测可能是窗体并未创建,故无法设置。
试验二:
在Form的OnPaint中使用SetWindowRgn,无效果,但此法在应用程序的窗体中有效,不知是否ActiveXForm的窗有何特别之处,
试验三:替换WndProc,在收到WM_NCPAINT消息时使用SetWindowRgn,无效,
试验四:替换WndProc,在收到WM_PAINT消息时使用SetWindowRgn,有效,但在IE窗体更改大小时,ActiveXForm又被还原了,并且无法再设置回我需要的形状。
试验五:在ActiveForm创建并显示出来以后的鼠标事件中设置,有效,但IE窗体更改大小失效,效果同试验四。
我猜测是否有另外一个事件会更改窗体的Region属性,但是试验四、五的症状确实令我奇怪,为何被还原了以后我再也更改不了了呢?