社区
ATL
帖子详情
控件怎样判断主窗体在移动?
123_321_1234567
2013-12-19 01:35:02
写了个OCX控件,OCX创建时弹出来一个PopUp窗体,这个窗体在OCX销毁前一直存在。
现在问题是,OCX怎么才能知道调用OCX的主窗体在移动,然后随之动态调整PopUp窗体的位置?
我知道在调用OCX的主窗体中可以做到,但调用OCX的主窗体可能是IE,所以一定是要在OCX中处理。
可用分就这么多了,期待大侠出手相助。
...全文
451
6
打赏
收藏
控件怎样判断主窗体在移动?
写了个OCX控件,OCX创建时弹出来一个PopUp窗体,这个窗体在OCX销毁前一直存在。 现在问题是,OCX怎么才能知道调用OCX的主窗体在移动,然后随之动态调整PopUp窗体的位置? 我知道在调用OCX的主窗体中可以做到,但调用OCX的主窗体可能是IE,所以一定是要在OCX中处理。 可用分就这么多了,期待大侠出手相助。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
123_321_1234567
2014-01-26
打赏
举报
回复
OCX控件中的OnWindowPosChanged函数会不会触发. 调用SetWindowLong 指定 GWL_WNDPROC,这个方法在一个窗体里只有一个OCX控件的情况下还行,要是有多个这样 的控件,就不行了。 2楼的方法适合桌面程序,IE里调用没辙。 目前还是没找到合适的方法。或许这么设计是有问题的。但现在有这个需求,没办法。
许文君
2013-12-24
打赏
举报
回复
可以挂接主窗体循环,如4#,但是一般来说都是主窗体把消息传递给子窗体,这样比较好处理
fishion
2013-12-24
打赏
举报
回复
获取真正使用ocx的父窗口句柄,然后调用SetWindowLong 指定 GWL_WNDPROC,然后挂接父窗口的消息回调函数,在里面处理WM_WINDOWPOSCHANGED,WM_WINDOWPOSCHANGING等消息
worldy
2013-12-24
打赏
举报
回复
ocx留出一个接口以获得位置改变的通知比如叫ParentPosChg,在其实现中根据参数调整popup窗口的位置 主窗口处理WM_WINDOWPOSCHANGED在该消息处理中,调用ParentPosChg
招财猫_Martin
2013-12-24
打赏
举报
回复
在主窗体的OnWndPosChanged函数中处理,或者自己处理WM_WINDOWPOSCHANGED事件。 当大小,位置或当SetWindowPos调用或其它窗口管理函数引导起窗口的Z-order发生改变时,MFC框架会调用。在这个函数里,你可以处理要让控件做的事情。
boylafong
2013-12-24
打赏
举报
回复
不知道OCX控件中的OnWindowPosChanged函数会不会触发。 如果不可以的话,可以获得控件在屏幕的位置(貌似只能获得鼠标抬起事件)
Winform ToolStrip
控件
左右拖拽
移动
效果实现
*
主
窗体
下部添加一个Panel乘放ToolStrip
控件
以实现ToolStrip在
窗体
下部定位。 * 当ToolStrip
控件
中子
控件
超出屏幕时,拖动
控件
可以实现滑动效果。拖动到
控件
边缘距
窗体
边缘1/3宽度时(可设), 自动回弹。拖动...
c# 动态改变
控件
位置、
控件
大小、拖动
控件
用c#编写的示例程序,可以单击或双击后拖动
控件
到
窗体
任何位置,鼠标
移动
到
控件
边沿可以改变光标形状,按下鼠标左键后拖动可以改变
控件
大小,改变
主
窗体
大小
控件
大小跟随改变
C#实现运行时调整
控件
大小和位置
C#实现运行时调整
控件
大小和位置,可以单击拖动
控件
到
窗体
任何位置,鼠标
移动
到
控件
边沿可以改变光标形状,按下鼠标左键后拖动可以改变
控件
大小,改变
主
窗体
大小
控件
大小跟随
无边框
窗体
移动
无边框
窗体
的
移动
,鼠标在
窗体
内任意
控件
上均可做到
移动
主
窗体
。代码量少,简单清晰
Delphi开发技巧之-Forms
捕获
主
窗体
WM_MOVE消息 改变Hint字体 改变Hint的显示时间 改变MessageDlg的按钮标题 最小化
控件
最小化第二个窗口到任务栏 查找
窗体
注册类 格式化MessageDlg 检查PopUp菜单是否打开 检查
控件
是否被其它窗口遮掩 添加...
ATL
3,245
社区成员
48,539
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章