欢迎来到天天文库
浏览记录
ID:37640893
大小:222.21 KB
页数:8页
时间:2019-05-27
《【Visual C++】子窗口控件 -windows程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、子窗口控件-windows程序设计取父窗口的窗口句柄:hwndParent=GetParent(hwnd);发送消息:SendMessage(hwndParent,message,wParam,lParam);预定义的控件有:按钮、复选框、编辑方块、清单方块、下拉式清单方块、静态字符串标签和滚动条。当使用预定义的控件时,不必为其注册窗口类,窗口类已经存在于Windows中,并有一个预先定义的名字。您只需在CreateWindow()的参数中指出窗口类名字。CreateWindow()的窗口样式参数准确地定义了子窗口控件的外形和功能。Windows内建了这些控件的窗口消息处理程序。====
2、====================================按钮控件创建子窗口时指定窗口类为"button".显示窗口的CreateWindow参数如下:Classname(类别名称)TEXT("button")Windowtext(窗口文字)一个c字符串szTextWindowstyle(窗口样式)WS_CHILD
3、WS_VISIBLE
4、按钮样式(下边有说明)xposition(x位置)yposition(y位置)Width(宽度)Height(高度)Parentwindow(父窗口)ChildwindowID(子窗口ID)要转换为HMENU类型.如(HMENU)iInst
5、ancehandle(执行实体句柄)执行实例句柄Extraparameters(附加参数)NULL其中的按钮样式为:BS_PUSHBUTTONBS_DEFPUSHBUTTONBS_CHECKBOX(带有复选框.复选框的状态要手动发送BM_SETCHECK消息设置)BS_AUTOCHECKBOX(带有复选框.复选框的状态自动设置)BS_RADIOBUTTON(带单选按钮.其状态要手动发送BM_SETCHECK消息设置)BS_3STATEBS_AUTO3STATEBS_GROUPBOX(分组方块.它只是一个标题框.不处理输入.)BS_AUTORADIOBUTTONBS_OWNERDRAW按钮
6、会向父窗口发送WM_COMMAND消息.参数:LOWORD(wParam)为子窗口ID.HIWORD(wParam)为通知码.lParam为子窗口句柄.通知码HIWORD(wParam)有:BN_CLICKEDBN_PAINTBN_HILITEorBN_PUSHEDBN_UNHILITEorBN_UNPUSHEDBN_DISABLEBN_DOUBLECLICKEDorBN_DBLCLKBN_SETFOCUSBN_KILLFOCUS父窗口也可以向按钮发送消息.BM_GETCHECK(复选框的选定标记)BM_SETCHECKBM_GETSTATE("正常状态"还是"按下状态")BM_SETS
7、TATEBM_SETSTYLE(改变按钮样式)BM_CLICKBM_GETIMAGEBM_SETIMAGE要得到控件ID用GetDlgCtrlId(hwndChild);要得到控件的子窗口句柄用GetDlgItem(hwndParent,id);改变按钮的文字用SetWindowText(hwnd,pszString);取按钮的当前文字用iLength=GetWindowText(hwnd,pszBuffer,iMaxLength);======================================显示/隐藏子窗口如果子窗口的窗口类的样式中没有WS_VISIBLE.则在没有呼叫
8、ShowWindow之前不会显示窗口.显示子窗口用:ShowWindow(hwndChild,SW_SHOWNORMAL);隐藏子窗口用:ShowWindow(hwndChild,SW_HIDE);查看子窗口是否可见用:IsWindowVisible(hwndChild);不可用/启用子窗口要使按钮不可用(文字变为灰色).用:EnableWindow(hwndChild,FALSE);恢复为可用:EnableWindow(hwndChild,TRUE);判断是否被启用:IsWindowEnabled(hwndChild);输入焦点用户使用按钮时.按钮获得输入焦点而其父窗口失去输入焦点.这
9、时父窗口先收到WM_KILLFOCUS消息(wParam参数为获得输入焦点的窗口的句柄).然后获得输入焦点的窗口(按钮子窗口)收到一个WM_SETFOCUS消息(wParam参数为失去输入焦点的窗口的句柄).控件与颜色系统颜色Windows保留了29种系统颜色以供各种显示使用(例如:菜单颜色.菜单文字颜色.窗口颜色等等)。您可以使用GetSysColor和SetSysColors来获得和设定这些颜色。设定的系统颜色只在目前Windo
此文档下载收益归作者所有