动态加载和控制控件

 
网上SDK编程的资料真难找,想动态加载控件,可是找不到相关资料。自己去图书馆才查到一点信息,发出来大家分享,希望给同是初学者的朋友一点帮助。
 
其实用于窗口的函数大多可用在控件上,只要把控件当成窗口来处理就可以了。
 
创建控件的代码如下:
HWND ctrl = ::CreateWindowA("button",//控件类别
                            "动态",//控件文本
                            WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON ,//控件样式
                            0, //位置
                            0,//位置
                            100, //尺寸
                            20,//尺寸
                            hDlg,//父窗口句柄
                            (HMENU)50,//可以在这指定控件ID
                            g_hInstance,
                            NULL);
 
可以参照这种方式来操纵控件:
SendMessage(hwndButton, //控件句柄
BM_CLICK, //操纵方式,这里让按钮执行点击操作
NULL,NULL); //有的操纵方式要通过这两个形参传递参数
 
SendDlgItemMessage(hDlg, //父窗口句柄
ID_BUTTON, //控件ID
BM_CLICK, //操纵方式,这里让按钮执行点击操作
NULL, NULL); //有的操纵方式要通过这两个形参传递参数
用到的宏定义如 BM_CLICK 可以在 winuser.h 文件中找到。
 
控件类别 介绍如下:
子窗口类型
类名
描述
按钮
Button
创建按键按钮、单选按钮和三态按钮。
静态文本框
Static
显示用户不可直接编辑的文本,一般为标题。
滚动条
ScrollBar
滚动视图。
列表框
ListBox
显示具有多个子项的列表框。
编辑框
Edit
允许用户直接编辑文本。
组合框
ComboBox
与列表框类似,但多一个编辑区域。
 
 
 
button
各种按钮,可以通过控件样式来指定按钮样式
按钮风格
描述
BS_AUTOCHECKBOX
创建一个自动选中的复选按钮,只有复选按钮在复选框里改设置值才起作用。
BS_AUTORADIOBUTTON
创建一个自动选中的单选按钮。
BS_AUTO3STATE
创建自动的三态按钮。
BS_CHECKBOX
创建一个复选按钮。
BS_DEFPUSHBUTTON
创建默认选中的按键按钮,当用户按下Enter键时,则表示选择该按键按钮。
BS_GROUPBOX
创建按钮组合框,当创建一组单选按钮或者复选按钮时,首先需要创建该按钮组合框。
BS_LEFTTEXT
创建单选按钮或复选按钮时,指定按钮名称的文本出现在左边。
BS_OWNERDRAW
创建自画按钮,必须先创建图形资源。
BS_PUSHBUTTON
创建按键按钮。
BS_RADIOBUTTON
创建单选按钮。
BS_3STATE
创建三态按钮
 
按钮有自己特殊的消息类型。当用户选择了按钮时,它将向父窗口发送WM_COMMAND消息,这些通知消息包含在wParam的高位字节中。
按钮的通知代码如表所示。
 
消息取值
描述
BN_CLICKED
表示用户单击了该按钮
BN_DOUBLECLICKED
表示用户双击了该按钮
BN_HILITE
表示按钮显亮
BN_UNHlLlTE
取消按钮显亮
BN_PAINT
绘制按钮
BN_DISABLE
表示按钮禁活
BN_PUSHED
用户选中该按钮并按下了Enter键
BN_SETFOCUS
输入焦点转移到该按钮
 
 
 
static
创建静态文本控件 。静态文本控件的功能比较简单,可作为显示字符串,图标,位图用。 如果需要获得输入应该使用 edit 控件。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值