易语言如何使用BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos这个3个API移动窗口组件
易语言如何使用BeginDeferWindowPos,DeferWindowPos,EndDeferWindowPos这个3个API移动窗口组件问题同上·希望能有实例代码...
易语言如何使用BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos这个3个API移动窗口组件
问题同上·希望能有实例代码贴出!请不要贴出MoveWindow或者SetWindowPos的代码,我需要的是BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos利用这3个API来实现组件移动!谢谢大家了!有源码附上最佳!
请高手给予解答·谢谢了 展开
问题同上·希望能有实例代码贴出!请不要贴出MoveWindow或者SetWindowPos的代码,我需要的是BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos利用这3个API来实现组件移动!谢谢大家了!有源码附上最佳!
请高手给予解答·谢谢了 展开
1个回答
展开全部
使用以下API来处理窗口移动,BeginDeferWindowPos, DeferWindowPos,EndDeferWindowPos
先调用 BeginDeferWindowPos 设定需要移动的窗口的个数
使用DeferWindowPos,来移动窗口,这个API并不真的造成窗口移动
EndDeferWindowPos 一次性完成所有窗口的大小和位置的改变。
有个地方要特别注意,要仔细计算清楚要移动多少个窗口,BeginDeferWindowPos设定的个数一定要和实际的个数一致,否则在Win9x下,如果实际移动的窗口数多于调用BeginDeferWindowPos时设定的个数,可能会造成系统崩溃。在Windows NT系列下不会有这样的问题。
例程代码(复制代码):
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 句柄, 整数型
.子程序 __启动窗口_创建完毕
句柄 = BeginDeferWindowPos (1)
DeferWindowPos (句柄, 取窗口句柄 (), #HWND_TOP, 10, 10, 300, 300, #SWP_SHOWWINDOW)
EndDeferWindowPos (句柄)
常量:
.版本 2
.常量 HWND_BOTTOM, "1"
.常量 HWND_TOP, "0"
.常量 HWND_TOPMOST, "-1"
.常量 HWND_NOTOPMOST, "-2"
.常量 SWP_SHOWWINDOW, "64"
顺便推荐一个易语言用的API查询工具: 易用API伴侣,可以查API参数等,很方便。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询