第12章 控件-精品·公开课件.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12控件 虽然控件的外观和功能各不相同,但它们是都是以子窗口的形式存在的,在控件创建、消息处理和控制方面有许多相似之处。 1. 控件 2. 控件的创建 控件的创建方式有两种。 (1) 在对话框中指定控件 先创建对话框资源和控件资源,在对话框中指定控件,这样当应用程序启动该对话框时就可以为对话框指定控件。 在对话框中创建控件的一般形式为: Control-type [Title,] ID,X,Y,nWidth,nHeight[,Style] 其中: Control-type为控件类型,常用对话框控件类型及其说明见表14-1。 Style为控件的样式。控件创建过程的重点是控件样式的选取。不同样式的选取不但关系到控件的外形,而且决定控件所能实现的功能。 (2) 调用函数创建控件 可以调用函数CreateWindow( )或CreateWindowEx( )来创建控件。用CreateWindow( )或CreateWindowEx( )函数创建窗口类控件,必须指定控件的窗口类,通常程序员使用的是Windows系统预定义的窗口类。  表列出静态控件、按钮、滚动条等六种常见的控件所预定义的窗口类。 3. 控件的消息 应用程序可以向控件发消息,控件也可以向应用程序发消息,此类消息被称为通知消息。 (1) 向应用程序发送消息 当子窗口控件的状态发生改变时,控件通过向其父窗口(应用程序窗口)发WM_COMMAND消息进行通信。 (2) 向控件发送消息 ① 应用程序窗口可调用函数SendMessage向特定的子窗口发送消息,以指示其动作。函数SendMessage的原型如下: LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); 参数说明: hWnd:其窗口程序将接收消息的窗口句柄。   如用户单击单选按钮时,应用程序窗口可调用函数SendMessage向该单选按钮发送BM_SETCHECK消息,为该按钮设置选中符号,其原型为: SendMessage(hwndRadioButton,BM_SETCHECK,1,0); ② 使用对话框控件时,应用程序可调用函数SendDlgItemMessage向指定的对话框控件发送消息,其原型为: LONG SendDlgltemMessage(HWND hDlg,int nIDDlgltem,UINT Msg,WPARAM wParam,LPARAM lParam); 参数说明: hDlg:指定含有控件的对话框。 nIDDigltem:指定接收消息的控件的标识符。 常用控件操作函数 应用程序对控件的操作,实质上是子窗口操作的一种类型(对话框控件可看作对话框的子窗口)。Windows系统提供一系列的API函数完成对于窗口控件的操作。常用窗口函数的功能、原型说明如下:   1. EnableWindow函数 该函数允许或禁止指定的窗口或控制接受鼠标输入或键盘输入。当输入被禁止时窗口不能接收鼠标单击和按键等类输入;当输入允许时,窗口接受所有的输入。该函数原型如下: BOOL EnableWindow(HWND hWnd, BOOL bEnable); 2. CloseWindow函数 该函数最小化指定的窗口,但并不销毁该窗口。函数原型为: BOOL CloseWindow(HWND hWnd); 3. GetWindowText函数 该函数将指定窗口的标题条文本(如果存在)拷贝到一个缓存区内。如果指定的窗口是一个控件,则拷贝控件的文本。但是,GetWindowText不能接收在其他应用程序中的控件文本。函数原型为: Int GetWindowText(HWND hWnd, LPTSTR lpString, Int nMaxCount); 4. SetWindowText函数 该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。然而,SetWindowText函数不改变其他应用程序中的控件的文本内容。函数原型: BOOL SetWindowText(HWND hwnd, LPCTSTR lpString); 5. MoveWindow函数 该函数改变指定窗口的位置和尺寸。对于顶层窗口,位置和尺寸是相对于屏幕的左上角的;对于子窗口,位置和尺寸是相对于父窗口客户区的左上角坐标的。函数原型为: BOOL MoveWindow(HWND hWnd,.int x,.int y, int nWidth, int nHeight, BOOL bRePaint); 6. DestroyWindow函数 该函数可以关闭窗口,如果应用程序关闭父窗口,则其中的子窗口同时被关闭,函数的原型如下:

文档评论(0)

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

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

1亿VIP精品文档

相关文档