第09课 子窗口控件

第09课 子窗口控件

ID:10076170

大小:34.00 KB

页数:6页

时间:2018-05-24

第09课 子窗口控件_第1页
第09课 子窗口控件_第2页
第09课 子窗口控件_第3页
第09课 子窗口控件_第4页
第09课 子窗口控件_第5页
资源描述:

《第09课 子窗口控件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第09课子窗口控件.txt丶︶ ̄喜欢的歌,静静的听,喜欢的人,远远的看我笑了当初你不挺傲的吗现在您这是又玩哪出呢?第九课子窗口控件--------------------------------------------------------------------------------本课中我们将探讨控件,这些控件是我们程序主要的输入输出设备。理论:WINDOWS提供了几个预定义的窗口类以方便我们的使用。大多数时间内,我们把它们用在对话框中,所以我们一般就它们叫做子窗口控件。子窗口控件会自己处理消息,并在自己状

2、态发生改变时通知父窗口。这样就大大地减轻了我们的编程工作,所以我们应尽可能地利用它们。本课中我们把这些控件放在窗口中以简化程序,但是大多数时间内子窗口控件都是放在对话框中的。我们示例中演示的子窗口控件包括:按钮、下拉菜单、检查框、单选按钮、编辑框等。使用子窗口控件时,先调用CreateWindow或CreateWindowEx。在这里由于WINDOWS已经注册了这些子控件,所以无须我们再注册。当然我们不能改变它们的类名称。譬如:如果您想产生一个按钮,在调用上述两个函数时就必须指定类名为"button"。其他必须指定

3、的参数还有父窗口的句柄和将要产生的子控件的ID号。子控件的ID号是用来标识子控件的,故也必须是唯一的。子控件产生后,当其状态改变时将会向父窗口发送消息。一般我们应在父窗口的WM_CREATE消息中产生字控件。子控件向父窗口发送的消息是WM_COMMAND,并在传递的参数wPara的底位中包括控件的ID号,消息号在wParam的高位,lParam中则包括了子控件的窗口的句柄。各类控件有不同的消息代码集,详情请参见WIN32API参考手册。父窗口也可以通过调用函数SendMessage向子控件发送消息,其中第一个参数是

4、子控件的窗口句柄,第二个参数是要发送的消息号,附加的参数可以在wParam和lParam中传递,其实只要知道了某个窗口的句柄就可以用该函数向其发送相关消息。所以产生了子窗口后必须处理WM_COMMAND消息以便可以接收到子控件的消息。例子:我们将产生一个窗口,在该窗口中有一个编辑框和一个按钮。当您按下按钮时,会弹出一个对话框其中显示了您在编辑框中输入的内容。另外,该应用程序还有一个菜单,其中有四个菜单项:SayHello--把一个字符串输入编辑控件;ClearEditBox--清除编辑控件中的字符串;GetText

5、--弹出对话框显示编辑控件中的字符串;Exit--退出应用程序。.386.modelflat,stdcalloptioncasemap:noneWinMainproto:DWORD,:DWORD,:DWORD,:DWORDincludemasm32includewindows.incincludemasm32includeuser32.incincludemasm32includekernel32.incincludelibmasm32libuser32.libincludelibmasm

6、32libkernel32.lib.dataClassNamedb"SimpleWinClass",0AppNamedb"OurFirstWindow",0MenuNamedb"FirstMenu",0ButtonClassNamedb"button",0ButtonTextdb"MyFirstButton",0EditClassNamedb"edit",0TestStringdb"Wow!I''''minaneditboxnow",0.data?hInstanceHINSTANCE?CommandLineLP

7、STR?hwndButtonHWND?hwndEditHWND?bufferdb512dup(?);buffertostorethetextretrievedfromtheeditbox.constButtonIDequ1;ThecontrolIDofthebuttoncontrolEditIDequ2;ThecontrolIDoftheeditcontrolIDM_HELLOequ1IDM_CLEARequ2IDM_GETTEXTequ3IDM_EXITequ4.codestart:invokeGetModule

8、Handle,NULLmovhInstance,eaxinvokeGetCommandLinemovCommandLine,eaxinvokeWinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULTinvokeExitProcess,eaxWinMainprochInst:HINSTANCE,hPrevInst:HI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。