控件

▲获得控件对象

GetDlgItem(...)         //以指定的ID获取控件指针

 

▲获取/设置控件文本

GetWindowText(...)         //获取指定控件的文本  

SetWindowText(...)         //设置指定控件的文本  

//

GetDlgItemText(...)         //获取指定控件的文本

SetDlgItemText(...)         //设置指定控件的文本

//

GetDlgItemInt(...)           //将指定控件上的文本按整形数字类型获取

SetDlgItemInt(...)           //将整形数字设置为指定控件上的文本  

//

SendMessage(...WM_GETTEXT...)       //通过消息获取指定控件的文本

SendMessage(...WM_SETTEXT...)       //通过消息设置指定控件的文本

 

//

SendDlgItemMessage(...WM_GETTEXT...)       //通过消息获取指定控件的文本

SendDlgItemMessage(...WM_SETTEXT...)       //通过消息设置指定控件的文本

 

▲Tab Stop属性

在同一父窗口上的每一个控件,都有一个序号与之关联(Tab Order,以1累加),当点击键盘上Tab键时,输入焦点会按Tab Order的顺序在具有Tab Stop属性的控件上停留。

查看/设置控件的Tab顺序可在编排(Layout)菜单(仅在可视化编辑对话框资源时出现)中选择Tab Order项。

 

▲Group属性

在同一父窗口上的控件,具有Group属性的控件与(按Tab Order顺序)下一个具有Group属性控件之的控件成为一组。特殊情况下,当所有控件具有Group属性时,控件各自为一组,当所有控件无Group属性时,所有控件成为一组。

对单选框分组可以设置单选范围。

 

▲关联变量

在类向导的成员变量属性页中,选择不同的类(CMyDiag),就可在控件列表中出现相应类所包含的控件(以ID区分),双击控件(IDC_EDIT1)出现关联变量对话框,设置变量名(m_num1),属性(Value),类型(int),范围(0~100)并添加后,此变量就和对应的控件相关联起来。

上面的设置会在相应类中添加如下代码:

1.在MyDiag.h的CMyDiag定义中

//{{AFX_DATA(CMyDiag)                    //注释宏

enum { IDD = IDD_DIALOG1 };         
int m_num1;                                      //添加的变量
//}}AFX_DATA                                   //注释宏
2.在MyDiag.cpp的CMyDiag(...)构造函数中

//{{AFX_DATA_INIT(CMyDiag)         //注释宏
m_num1 = 0;                                   //变量初始化
//}}AFX_DATA_INIT                         //注释宏

3.在MyDiag.cpp的CMyDiag::DoDataExchange(...)成员函数中

//{{AFX_DATA_MAP(CMyDiag)                  //注释宏
DDX_Text(pDX, IDC_EDIT1, m_num1);     //变量与控件交换数据

DDV_MinMaxInt(pDX, m_num1, 0, 100);   //校验数据
//}}AFX_DATA_MAP                                  //注释宏

DoDataExchange()用于交换和校验数据,由UpdateData()函数调用。关联变量后,若控件上的数据类型或范围不符时会由系统给出提示。

可以在类向导中将变量属性设为Control,则添加的就是控件变量,该控件变量与指定控件关联,用以指代该控件。

只能对具有Group属性的单选框关联变量,当关联整形变量时,该变量初始为-1表示该单选框分组中没有选中任何结果,当该变量值为0,1...时,分别表示关联该变量的单选框被选中,改组中按Tab Order顺序的其他单选框被选中。

 

▲修改控件的窗口过程函数
LRESULT CALLBACK MyProc(...) //自定义的窗口过程函数
{...}
SetWindowLog(...GWL_WNDPROC,MyProc...) //将指定控件的窗口过程修改为自定义的窗口过程函数


▲获得兄弟控件
GetNextWindow(...) //(按z序)获得当前控件的上一个/下一个控件(窗口)
GetWindow(...) //(按z序)按指定的关系获得与当前控件相关的控件(窗口)
GetNextDlgTabItem(...) //(按Tab序)获得当前控件的上一个/下一个控件(窗口)

 

▲修改控件的外观

在控件绘制之前,父窗口会收到WM_CTLCOLOR的消息,其中指定了控件的类型以及控件的DC,可对其DC进行操作以改变控件的外观

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值