为什么给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属性,但是试验四、五的症状确实令我奇怪,为何被还原了以后我再也更改不了了呢?
...全文
71 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gloom 2002-10-24
  • 打赏
  • 举报
回复
我要给动态地为窗体做成不规则形状,是动态地,要求能变,并非是设计成固定的样式,请继续赐教。
lunarshay 2002-10-24
  • 打赏
  • 举报
回复
如果你使用弹出窗口的话,和form结果完全一致.
如果你只有单窗口,做法与楼上所说即可(也可编辑html文件改变大小).
对于你的试验,当ie给ocx object的大小固定时,窗口改变是只能显示在ie的大小范围内的,如同窗口的大小受限于显示器一样.
gloom 2002-10-24
  • 打赏
  • 举报
回复
TO lunarshay():
在跳转到该页面时根据form的形状动态设计显示区域
=====================================================
我要设置为不规则区域,问题就在于什么时候设置,放在什么地方设置,不会要放在Html语言中吧?我在控件的写总是效果不好啊。
lunarshay 2002-10-24
  • 打赏
  • 举报
回复
想要将form内嵌在ie中改变的话,我只想到在跳转到该页面时根据form的形状动态设计显示区域.还是那个问题,当ie分配给active控件的显示区间设定了以后,控件显示的大小是受之限制的.
mfjsusan 2002-10-23
  • 打赏
  • 举报
回复
你可以在生成.html之后,用Frontpage打开,在FrontPage里面改变大小,试一下!
gloom 2002-10-22
  • 打赏
  • 举报
回复
怎么就没有一个人来回答我啊?推推也好啊!

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧