2023/4/6

82 阅读2分钟

2023/4/6

UpdateData(False):将Value的值同步到文本框中
UpdateData(True):将文本框同步到Value的值中

Value类型和Control的区别:
一般只有在编辑框中会使用Value,其他的一般都使用Control

InsertColumn:在表头进行插入
InsertItem:在表中插入Item,一个Item代表一行
在SetItemText之前必须要先InsertItem,否则SetItemText不会显示出来
SetItemText的第一个参数代表行,第二个代表列,第三个是TEXT
SetExtendedStyle用来调整样式,第一个参数为m_list.GetExtendedStyle(),后面的样式枚举参数都用 | 连接

Tree Control组件:
在OnInitDialog函数中进行操作,主要操作主要分为 设置图标 和 设置节点。
设置图标:
1、需要准备数张.ico后缀的图片,将其放在项目的res文件夹中;
2、在头文件中声明一个存储ico的HICON类型的数组,icons[0] = AfxGetApp()->LoadIconW(IDB_ICON1);(参数为图片的ID)(这一段操作相当于加载图片资源);
3、创建MFC系统中的list,需要在头文件中创建,因为在OnInitDialog函数中进行创建会因为栈的释放导致图片消失,CImageList list。创建图片集合:list.Create(30, 30, ILC_COLOR32, 3, 3)。添加具体的图片:list.Add(icon[0]); 将图片集合应用到Tree Control上面m_tree.SetImageList(&list, TVSIL_NORMAL);

	HICON icons[4];	//准备HICON图标
	icons[0] = AfxGetApp()->LoadIconW(IDB_BITMAP1);
	icons[1] = AfxGetApp()->LoadIconW(IDB_BITMAP2);
	icons[2] = AfxGetApp()->LoadIconW(IDB_BITMAP3);

	/*CImageList list;*/	//不能将该图集开辟到栈上,必须保存该图集
	//center.x	center.y	.....	num
	list.Create(30, 30, ILC_COLOR32, 3, 3);	//创建图片集合
	for(int i = 0; i < 3; i++)		//添加具体图片
	{
		list.Add(icons[i]);
	}

	m_tree.SetImageList(&list, TVSIL_NORMAL);

设置节点:
	HTREEITEM root = m_tree.InsertItem(TEXT("根节点"), 0, 0, NULL);
	HTREEITEM parent = m_tree.InsertItem(TEXT("父节点"), 1, 1, root);


创建标签页:首先需要引用TabSheet.cpp 和 TabSheep.h两个文件,然后设置两个Dialog,将其Type设置为Child,在主Dialog的头文件中创建CDia1、CDia2、CTabSheet类型的三个对象,然后再OnInitDialog中设置标签页
	//添加标签页
	m_tab.AddPage(TEXT("系统管理"), &dia1, IDD_DIALOG1);
	m_tab.AddPage(TEXT("系统管理"), &dia2, IDD_DIALOG2);
	//显示
	m_tab.Show();

在MessageBox中显示变量:需要先将变量转化为CString类型,用Format函数连接TEXT和int类型数据

CString msg;
msg.Format(TEXT("PageCount:%d\n"), 1234);
MessageBox(msg);
MessageBox(str);