VC学习笔记3常用控件

1.静态文本控件

设置里面的内容:

首先关联变量m_Static

然后 m_Static.SetWindowText("...")

要设置文本颜色,在WM_CTLCOLOR消息中调用
if(nCtlColor==CTLCOLOR_STATIC)
    pDC->SetTextColor(RGB(255,0,0));

2.编辑框控件

得到编辑框内容
CString str;
m_Edit.GetWindowText(str);

3.列表控件
列表插入
m_List.InsertString(m_Num,m_Text);  //前一个参数是行数下标,后一个是内容CString
m_List.AddString(str);  //向列表尾部插入CString类型的str
查询列表
n=m_List.GetCount();  //返回列表中元素个数
m_List.GetText(i,Text);  //将下标为i的元素保存至CString类型Text变量中
列表中设置复选功能
将关联变量类型更改为
CChectListBox m_List;
m_List.GetCheck(i);  //下标i选中返回1没有选中返回0

4.组合框控件
设置组合框下拉内容:属性,data里面写入,一行一个内容
设置下拉条长度:点小箭头向下托
选定得到内容:
关联变量,添加消息响应函数CBN_SELCHANGE  //在组合框内容改变时触发
int pos=m_Combo.GetCurSel();  //得到选中的下标
m_Combo.GetLBText(pos,str); //将下标为pos的内容给str

5.树视图控件
在对话框类中(.Dlg)添加树控件变量
CTreeCtrl m_Tree;
CImageList m_ImageList;  //定义视图列表,树图上每个元素的图像
在初始化方法(OnInitDialog)中
m_Tree.Create(TVS_LINESATROOT|TVS_HASLINES|TVS_HASBUTTONS|WS_BORDER|LVS_SHOWSELALWAYS,
        CRect(0,0,0,0),this,10001);  //创建树
m_Tree.MoveWindow(10,10,300,200);  //设置控件显示位置
m_Tree.ShowWindow(SW_SHOW);  //显示控件
m_ImageList.Create(16,16,ILC_COLOR24|ILC_MAST,1,0);  //创建列表视图窗口
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));  //添加图像
m_Tree.SetImageList(&m_ImageList,LVSIL_NORMAL);  //设置树图像
HTREEITEM m_Root;  //设置根节点
m_Root=m_Tree.InsertItem("xx",0,0); //设置根节点,内容xx,选中时图像显示图像0,不选中时也显示图像0
HTREEITEM m_Child;
m_Child=m_Tree.InsertItem("yy",1,1,m_Root);  //在根节点下插入子节点,选中不选中都显示图像1
m_Tree.Expand(m_Root,TVE_EXPAND);  //展开根节点
递规遍历树:
自定义方法:
void CTreeDlg::CheckToTree(HTREEITEM m_Item)
{
    m_Item=m_Tree.GetChildItem(m_Item);
    while(m_Item!=NULL)
    {
      if(m_Tree.GetCheck(m_Item))  //如果选中
      {
        .....
      }
      CheckToTree(m_Item);
      m_Item=m_Tree.GetNextItem(m_Item,TVGN_NEXT);
    }
}
还有一个函数返回根节点的HTREEITEM(位置)
HTREEITEM item;
item=m_Tree.GetRootItem();
如果要获取内容
m_Tree.GetItemText(item);

6.图像控件
先在资源视图插入位图,右键插入,导入
然后拖控件,在属性中选择Bitmap

7.复选框控件
首先加入复选框为其添加变量(类型为CButton),这里我用m_fx说明
m_fx.EnableWindow(FALSE);  //设置不可用
m_fx.SetCheck(1); //设置选中
当然获得选中状态用GetCheck()

8.单选框控件
选择加入单选框
在需要分组时,在属性中勾上group属性,不然就不会分组
每加一个group属性在之后鼠疫与该组的单选框就不需要加
也就是以加group属性的单选按钮为组分界线
在菜单Layout中有tab order可以选择标号顺序
那么怎样在点击一个按钮后显示所选的内容呢
首先在单选框单击事件中加入一个标号
如在onRadio1()中加入
m_Radio=1; //这里的m_Radio是一个全局的变量
...依次每一组都有一个序号,要对上
然后在按钮单击事件中加入
CButton *Radiobutton=(CButton*)GetDlgItem(IDC_RADIO1+m_Radio-1);
这样可以得到选中的CButton指针
如果要得到里面的内容,只需要
Radiobutton->GetWindowText(str);

9.进度条控件
加入进度条控件
为进度条控件映射一个变量m_p
在对话框初始化过程中设置进度条范围
m_p.SetRange(1,200);  //设置范围
SetTimer(1,100,NULL);  //每隔0.1s触发一次事件
增加onTimer响应函数,在其中加入
static int i;
m_p.SetPos(i++);  //进度条位置++


10.标签控件
在对话框中加入标签控件
为其映射变量m_tab
可以为其加入图像列表
m_tab.SetImageList(&m_ImageList); //怎么设置图像列表前面有
m_tab.InsertItem(0,"ss",0); //加入标签前面0是标签序列,后面0为图像序列
然后可以创建几个对话框指针,在对话框类中定义
分配空间
m_dlg=new ...//后面为对话框类名
然后创建对话框
m_dlg->Create(IDD_DIALOG_XX,&m_tab);  //前面参数为对话框资源的ID
下面设置第一个显示在标签中的对话框
m_dlg->CenterWindow();
m_dlg->ShowWindow(SW_SHOW);
添加标签控件的变化响应函数OnSelchangetab()
int index=m_tab.GetCurSel();  //获取选中标签号码
switch(index)
case 0:
m_dlg2->CenterWindow();  //设置焦点
m_dlg2->ShowWindow(SW_SHOW);  //选中的显示
m_dlg->ShowWindow(SW_HIDE);  //其他隐藏






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值