vs mfc tree

4 篇文章 0 订阅

CImageList图标的使用

首先导入CImageList m_imagelist;

m_imagelist.Create(16, 16, ILC_MASK |ILC_COLOR32,2,2 );
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_tree.SetImageList(&m_imagelist,TVSIL_NORMAL);

针对树控件,添加m_tree变量,以及添加HTREEITEM mNoGroup;再针对各个控件进行初始化

mNoGroup = m_tree.InsertItem(_T("未分组"), 0, 0);
m_tree.InsertItem(_T("string"), 1, 1, mNoGroup);
m_change.EnableWindow(FALSE);
m_delete.EnableWindow(FALSE);
m_deletegroup.EnableWindow(FALSE);

添加树分组,初始化变量Cstring m_newgroup

m_newgroup = dlg.m_edit_name;
HTREEITEM m_NewGroup;
m_NewGroup=m_tree.InsertItem(m_newgroup, 0, 0);
m_tree.SelectItem(m_NewGroup);
UpdateData(FALSE);//更新显示数据

对树控件补充信息,添加变量
CString m_information[28][10];
bool m_namefind;
CTime m_time[28];

CString str;
CString *pstr;
pstr = m_information[m_number_count];
m_name.GetWindowTextW(str);	
if(str!="")
{
	for (int j = 0; j < m_number_count; j++)
	{
		if (m_information[j][0] == str)
			m_namefind = true;
	}
	if (m_namefind == true)
	{
		MessageBox(_T("有相同姓名,请修改"), _T("test"),MB_OKCANCEL);
		m_namefind = false;
	}
	else 
	{
		m_name.GetWindowTextW(*(pstr++));
		m_firstname.GetWindowTextW(*(pstr++));
		m_phone1.GetWindowTextW(*(pstr++));
		m_phone2.GetWindowTextW(*(pstr++));
		m_mail.GetWindowTextW(*(pstr++));
		m_address.GetWindowTextW(*(pstr++));
		m_text.GetWindowTextW(*(pstr++));
		m_date.GetTime(m_time[m_number_count]);
		m_tree.InsertItem(m_information[m_number_count][0], 1, 1, mNoGroup);
		m_number_count++;
	}

}
else
	MessageBox(_T("请补全姓名"), _T("test"),0);

显示树控件各个信息,添加对象

m_deletegroup.EnableWindow(TRUE);
m_delete.EnableWindow(TRUE);

CPoint pt = GetCurrentMessage()->pt;
m_tree.ScreenToClient(&pt);
UINT uFlags;
hitem = m_tree.HitTest(pt, &uFlags);
if ((hitem != NULL) && (TVHT_ONITEM&uFlags))
{
	m_tree.SelectItem(hitem);
	if (m_tree.GetParentItem(hitem)==0)
	{
		m_deletegroup.EnableWindow(TRUE);
		m_change.EnableWindow(FALSE);
		m_delete.EnableWindow(FALSE);

	}
	if (m_tree.GetParentItem(hitem) != 0)
	{
		m_deletegroup.EnableWindow(FALSE);
		m_change.EnableWindow(TRUE);
		m_delete.EnableWindow(TRUE);
	}
}
CString m_str1(_T(""));
if (m_tree.GetParentItem(hitem) != 0)
{
	m_strEName = m_tree.GetItemText(hitem);
}
int i;
for (i = 0; i < 28; i++)
{
	if (m_information[i][0] == m_strEName)
	{
		m_name.SetWindowTextW(m_information[i][0]);
		m_firstname.SetWindowTextW(m_information[i][1]);
		m_phone1.SetWindowTextW(m_information[i][2]);
		m_phone2.SetWindowTextW(m_information[i][3]);
		m_mail.SetWindowTextW(m_information[i][4]);
		m_address.SetWindowTextW(m_information[i][5]);
		m_text.SetWindowTextW(m_information[i][6]);
		m_date.SetTime(m_time+i);
		break;
	}
}
if (i >= 28)
{
	CTime time;
	time = ::GetCurrentTime();
	m_name.SetWindowTextW(m_str1);
	m_firstname.SetWindowTextW(m_str1);
	m_phone1.SetWindowTextW(m_str1);
	m_phone2.SetWindowTextW(m_str1);
	m_mail.SetWindowTextW(m_str1);
	m_address.SetWindowTextW(m_str1);
	m_text.SetWindowTextW(m_str1);
	m_date.SetTime(&time);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值