网站大量收购独家精品文档,联系QQ:2885784924

Windows窗口高级编程-第三讲讲解.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows窗口高级编程-第三讲讲解

第二节:窗口消息 定时器设置函数SetTimer 定时器的设置函数是SetTimer()函数。 UINT SetTimer( HWND hWnd, //接收定时器消息的窗口 UINT_PTR nIDEvent, //为定时器的ID,用于标识定时器 UINT uElapse, //为定时器消息触发的时间间隔毫秒。 TIMERPROC lpTimerFunc //为接收定时器消息的回调函数,如果该参数为 //NULL,那么hWnd窗口消息处理程序负责接收定 //时器消息。 ); 第二节:窗口消息 定时器:TIMERPROC回调函数 typedef VOID (CALLBACK* TIMERPROC)(HWND hWnd, //是在调用SetTimer是指定的窗口句柄 UINT uMsgID, //总是等于WM_TIMER UINT_PTR idEvent, //计时器ID DWORD dwTimer); //是与从GetTickCount函数的返回值相容的值 例如: void TimerProc(HWND hWnd,UINT uMsgID,UINT_PTR idEvent,DWORD dwTimer) { …. } SetTimer(hWnd,ID_TIMER,1000,TimerProc); 第二节:窗口消息 定时器销毁函数KillTimer 在不使用定时器消息时,使用KillTimer()函数删除定时器。 BOOL KillTimer( HWND hWnd, //为接收定时器消息的窗口 UINT_PTR uIDEvent //定时器的ID ); 第三节:常用的窗口操作API函数 改变窗口位置和大小的函数MoveWindow 函数MoveWindow用于改变指定窗口的位置和大小,并可设置改变位置或大小后是否立即重绘窗口。 BOOL MoveWindow( HWND hWnd, //窗口句柄 int X, int Y, //窗口位置 int nWidth, int nHeight, //窗口的大小 BOOL bRepaint); //是否重绘 返回值: 执行成功返回TRUE,失败返回FALSE. 第三节:常用的窗口操作API函数 SetWindowPos函数 SetWindowPos函数改变窗口的位置,大小和Z-Order,并且可以设置窗口的显示状态。 BOOL WINAPI SetWindowPos( HWND hWnd, //要改变位置、大小或Z-Order的窗口 HWND hWndInsertAfter, //一个窗口的句柄,hWnd在Z-Order上将被置于hWndInsertAfter后面。 int X,int Y, //窗口的位置 int cx,int cy, //窗口的大小 UINT uFlags //操作标志 ); 返回值: 执行成功返回TRUE,执行失败返回FALSE. 第三节:常用的窗口操作API函数 SetWindowPos函数的hWndInsertAfter参数介绍 hWndInsertAfter为一个窗口的句柄,hWnd在Z-Order上将被置于hWndInsertAfter后面。 hWndInsertAfter也可以为下列值之一: HWND_BOTTOM:将窗口置于Z序的底部。如果参数hWnd是一个顶层窗口,则窗口将失去顶级位置,并且被置在其他窗口的底部。 HWND_NOTOPMOST:将窗口置于所有非顶层窗口之后。如果果窗口已经是非顶层窗口则该标志不起作用。 HWND_TOP:将窗口置于Z序的顶部。 HWND_TOPMOST:将窗口置于所有非顶层窗口之上。即使窗口未被激活也将保持顶级位置。 第三节:常用的窗口操作API函数 SetWindowPos函数的uFlags参数介绍 SWP_NOSIZE: 维持当前的窗口大小,也就是忽略了cx和cy参数。 SWP_NOMOVE: 维持当前的窗口位置,也就是忽略了X和Y参数。 SWP_NOZORDER: 不改变窗口的Z-Order次序。 SWP_NOOWNERZORDER: 不改变Z序中的所有者窗口的位置。 SWP_NOREDRAW: 不重绘窗口 SWP_NOSENDCHANGING: 不发送窗口位置改变消息 SWP_FRAMECHANGED: 强制窗口标题栏及边框的重绘,即发送WM_NCPAINT消息 SWP_HIDEWINDOW: 隐藏窗口 SWP_SHOWWI

文档评论(0)

4477704 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档