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);
}