第八讲子窗口控制.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八讲子窗口控制.ppt

子窗口控制 分类 标准控件 由具有WS_CHILD风格的普通窗口创建 通用控件(Comman Controls) Date and Time Picker、Flat Scroll、IP Address、Listview、Treeview、ToolTip、Month Calendar 自定义子控件 由具有WS_CHILD风格的普通窗口创建 按钮 CreateWindow(Ex) 窗口类——“button” 风格——BS_CHECKBOX、BS_DEFPUSHBUTTON、BS_GROUPBOX、BS_PUSHBUTTON、BS_RADIOBUTTON、BS_AUTOCHECKBOX、BS_3STATE 位置、大小 父窗口句柄 子窗口ID 获取子窗口标识 ID int GetDlgCtrlID( HWND hwndCtl ); HANDLE HWND GetDlgItem( HWND hDlg, int nIDDlgItem); 消息传递 当子窗口状态改变时,子窗口处理鼠标和键盘消息(有自己的消息回路),并通知父窗口,父窗口也可以向子窗口发送控制消息 子窗口——父窗口 WM_COMMAND LOWORD(wParam) HIWORD(wParam) lParam 子窗口ID 通知码 子窗口句柄 通知码 BN_CLICKED、BN_PAINT、BN_DISABLE、BN_PUSHED、BN_UNPUSHED、BN_DBLCLK、BN_SETFOCUS、BN_KILLFOCUS 、WM_CTLCOLORBTN 父窗口——子窗口 SendMessage BM_GETCHECK、BM_SETCHECK、BM_GETSTATE、BM_SETSTATE、BM_SETSTYLE、BM_CLICK、BM_GETIMAGE、BM_SETIMAGE 按钮样式 实例 源码 所有者绘制按钮 所有者绘制:由父窗口进行绘制,可以全面控制子窗口的外观,而不受键盘和鼠标的影响 创建时指定BS_OWNERDRAW风格 向父窗口发送消息 WM_CTLCOLORBTN 设置文本和背景色、返回画刷句柄 WM_DRAWITEM 按钮被创建、按下或释放、得到或失去焦点、需要重新着色时 所有者绘制按钮 实例 源码 彩色按钮 实例 源码 静态类控件 不接收鼠标和键盘输入 不向父窗口发送WM_COMMAND消息 只捕获WM_NCHITTEST消息,并向下(父窗口)传递HTTRANSPARENT值 绘制——WM_CTLCOLORSTATIC 滚动条控件 创建 ——指定窗口类为“scrollbar” 消息传递 子窗口——父窗口 WM_VSCROLL、WM_HSCROLL 父窗口——子窗口 SetScrollRange()、SetScrollPos()、SetScrollInfo() 绘制——WM_CTLCOLORSCROLLBAR 窗口子类化 子窗口控件的窗口过程是Windows内部的,将GWL_WNDPROC作为参数调用SetWindowLong,可以为其设置一个新的窗口过程,这个技术叫窗口子类化 窗口超类化 根据已有的标准控件的窗口类信息(GetClassInfo),进行修改,包括类名、窗口过程地址、实例句柄,保留其它部分不变,然后重新注册一个窗口类,并用于创建后续的子窗口 子类化和超类化的主要区别 Color1 实例 源码 Color1超类化实现 实例 源码 编辑框 文本对齐方式 文本对齐方式 ES_LEFT、ES_RIGHT、ES_CENTER 多行 ES_MULTILINE 滚动 ES_AUTOHSCROLL、ES_AUTOVSCROLL 绘制 WM_CTLCOLOREDIT 子窗口——父窗口 WM_COMMAND LOWORD(wParam) HIWORD(wParam) lParam 子窗口ID 通知码 子窗口句柄 通知码 EN_SETFOCUS、EN_KILLFOUCUS、EN_CHANGE、EN_UPDATE、EN_ERRSPACE、EN_MAXTEXXT、EN_HSCROLL、EN_VSCROLL 父窗口——子窗口 SendMessage WM_CUT、WM_COPY、WM_PASTE、WM_CLEAR、EM_GETSEL、EM_SETSEL、EM_GETLINECOUNT、EM_REPLACESEL、EM_LINEINDEX、EM_GETLINE PopPad1 实例 源码 列表框 风格 LBS_NOTI

文档评论(0)

docinpfd + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档