卷二:MFC第4篇

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);//图片标准类型 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值