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); //其他隐藏
设置里面的内容:
首先关联变量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); //其他隐藏