控件如何检测IE窗口最大化或还原的消息?

wmrwinhap 2004-08-23 08:46:49
按F11可将IE窗口最大化或还原,我的控件本身也实现了最大化与还原的功能,可是怎么将这两者同步起来呢?就在在IE最大化时,我的控件也最大化,在IE还原时,我的控件也还原。

请教:我怎么检测IE最大化或还原的消息?
...全文
144 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyc99111 2004-08-25
用定时器那效率不又低了?
还不如用钩子吧.
回复
wmrwinhap 2004-08-25
to skyxie(黑白精灵) :
不错的主意!谢谢!

可是我的控件有一堆方法都是给控件旁边的一堆按钮用的,为了版面的整齐,我确实是将控件放在绝对大小的TABLE,TD中,TABLE居中。IE最大化时,我连WM_MOVE消息都收不到,大概是控件子窗口相对其父窗口(TABLE/TD窗口)的位置并不改变吧。我该怎么办呢?

还有,我不知道控件大小为多少或IE窗口为多大时为全屏状态呢?我读取顶层窗口(IE窗口)的大小,宽度等于GetSystemMetrics(CXSCREEN)高度等于GetSystemMetrics(CYSCREEN)就是全屏吗?

有没有一个标志可检测到IE为全屏状态呢?最笨的办法是我可以在定时器里每秒检测一次!



回复
wmrwinhap 2004-08-25
关键是怎么检测浏览器进入或退出全屏的动作或者是浏览器的当前状态
回复
wmrwinhap 2004-08-25
我只是举个例子,不是说就用定时器实现,响应WM_PAINT都比定时器好些,浏览器最大化时一般都能收到WM_PAINT等消息
回复
wmrwinhap 2004-08-23
钩子?应该不用这么麻烦吧?Windows有强大的消息机制、IE有强大的嵌入控件控制控件的能力,这点事情应该通过消息机制或别的什么就能通知到控件或者被控件检测到吧?
再说,太多钩子会降低系统性能与程序的稳定性的,而我的控件要进行多路视频解码,还要支持全屏显示,效率与稳定性都很重要哦
回复
DentistryDoctor 2004-08-23
钩子WH_GETMESSAGE?
回复
wangweixing2000 2004-08-23
关注!帮你up一下!
回复
skyxie 2004-08-23
感觉只要处理好OnSize就行了吧。


调用控件的页面中指定控件大小时用相对大小(width = 50%,hight=50%),IE就会自动通知控件的。

不过如果该控件放在Table中,则Table,td都只能用相对大小了
回复
发动态
发帖子
ATL
创建于2007-09-28

3206

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
社区公告
暂无公告