1.控件使用:创建基于对话框的MFC程序
(1)check box多选框;添加变量获取信息;
(2)List Box 类似QQ的聊天栏; 与edit text 制作一个聊天输入框
void dialog2::OnBnClickedButton2()
{
//
// TODO: 在此添加控件通知处理程序代码
//获取文本框内容
//
CString text;
CEdit *edit = (CEdit*)GetDlgItem(IDC_EDIT1);
edit->GetWindowText(text);
edit->SetWindowText(_T("")); //发送之后情况输入框
//文本添加到列表
CListBox* list = (CListBox*)GetDlgItem(IDC_LIST1);
list->AddString(text);
}
(3)下拉列表CComboBox:
MessageBox(str);
CComboBox* list = (CComboBox*)GetDlgItem(IDC_COMBO1);
list->AddString(_T("湖南"));
list->AddString(_T("苏州"));
list->SetCurSel(1); //默认选择那一项
(4)进度条CProgress Ctrnol:getPos、setPos、getRange、setRange方法
CProgressCtrl* prog = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
prog->SetRange(0, 100); //范围
//设定定时器ID #define TIMER_PROG 9527
SetTimer(TIMER_PROG, 100, NULL); //
void Cdialog1Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//添加Timer消息
switch (nIDEvent) { //参数ID
CProgressCtrl* prog = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1); //获取景都
int num = prog->GetPos();
prog->SetPos(++num);
int low, high;
prog->GetRange(low, high);
if (num >= high) {
prog->SetPos(low);//进度归00
}
case TIMER_PROG:
break;
default :
break:
}
CDialogEx::OnTimer(nIDEvent);
}
(5)图片
手动加载:资源视图->创建图片; 拖picture control图片控件修改格式、图像的ID;
代码创建:bmp格式和png格式
//在initDlog消息里面,
//bmp格式 ,准备Bitmap图片
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1); //局部变量
m_pic.SetBitmap(bitmap);
bitmap.Detach(); //相分离才能显示
//png格式,
(1)在initDlog加载图片
m_image.Load(_T("C:\\Users\\86158\\Desktop\\气球.png"));
(2)在dlog的onPain函数里面
//获得绘制区域,在图片控件
else{
CRect rect;
m_pic.GetWindowRect(&rect);
ScreenToClient(&rect);
//绘制图片
m_image.Draw(dc,rect); //Draw两个参数
}
(6) 图像列表:表格、Icon控件 list control类似于Windows的大图标小图标
①InsertColumn、InsertItem、setItemText
BOOL Clist2Dlg::OnInitDialog(){
//构建表头
m_list.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 50); //左对齐
m_list.InsertColumn(1 ,_T("Name"), LVCFMT_LEFT, 100);
m_list.InsertColumn(2, _T("Age"), LVCFMT_LEFT, 50);
m_list.InsertColumn(3, _T("Address"), LVCFMT_LEFT, 200);
//插入第一行
int index = m_list.InsertItem(0,_T("0001"));
m_list.SetItemText(index, 1, _T("John"));
m_list.SetItemText(index, 2, _T("25"));
m_list.SetItemText(index, 3, _T("上海"));
//第二行数据
index = m_list.InsertItem(0, _T("0002"));
m_list.SetItemText(index, 1, _T("Tom"));
m_list.SetItemText(index, 2, _T("21"));
m_list.SetItemText(index, 3, _T("北京"));
//创建大小图标
m_imageList.Create(32, 32, ILC_COLOR32|ILC_MASK,3,7);
for (int i = 0; i < 10; i++) {//加载10个图片bmp
HICON icon = theApp.LoadIcon(IDC_ICON1 + i);
m_imageList.Add(icon);
}
m_imageList.DeleteImageList(&m_imageList, LVSIL_NORMAL);
}//设置view模式为report他可以查看到表格
(7)树控件
InsertItem、创建树控件的变量成员CTreeCtrl m_tree;
BOOL CTree2Dlg::OnInitDialog()
{
m_tree.ModifyStyle(0, TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT); //修改样式
HTREEITEM root; //一级目录
HTREEITEM fist_sub; //次级目录
HTREEITEM second_sub; //树的目录级别
root = m_tree.InsertItem(_T("Root")); //创建树的变量,CTreeCtrl m_tree;
fist_sub = m_tree.InsertItem(_T("First"),root); //父节点
m_tree.InsertItem(_T("1"), root);
m_tree.InsertItem(_T("2"), root);
m_tree.InsertItem(_T("3"), root);
m_tree.InsertItem(_T("4"), root);
second_sub = m_tree.InsertItem(_T("Second"), fist_sub);
m_tree.InsertItem(_T("5"), fist_sub);
m_tree.InsertItem(_T("6"), fist_sub);
m_tree.InsertItem(_T("7"), fist_sub);
m_tree.InsertItem(_T("8"), fist_sub);
}
//添加icon,先添加图标对象:CImageList m_imageList;
m_imageList(32, 32, ILC_COLOR32 | ILC_MASK, 4, 4);//32*32像素,颜色32 | 隐藏,已有4个图片,再添加4个
for (int i = 0; i < 8; i++) { //加载8个图标
HICON icon= theApp.LoadIcon(IDI_INON1 + i);
m_imageList.Add(icon);
}
m_tree.SetImageList(&m_imageList, LVSIL_NORMAL);//图片标准类型