- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 一二三级配电箱原理图施工临电平面图.pdf
- 2025年中国机器人传感器行业发展监测及发展趋势预测报告.docx
- 2025年江西工业工程职业技术学院单招职业倾向性测试题库及参考答案.docx VIP
- 虫害管理培训材料.ppt
- 门窗安装安全技术交底.docx VIP
- 2023年凹版油墨的现状与发展趋势.pptx
- 专题五 模型或原型的制作 考向二 木工工艺 学案(含解析)2025届高中通用技术.DOCX VIP
- 中国药物性肝损伤诊治指南(2023年版)解读.pptx
- 《“双减”背景下家校协同培养学生动机的研究》课题研究方案.doc
- 安徽《既有多层住宅加装电梯技术标准》DB34T4249-2022.pdf
文档评论(0)