初次接触CTreeView有点不知从哪下手的感觉,网上查了一堆资料也还是有点懵,这经过几天的折磨,总算有点眉目了。
具体的使用我就不废话了,网上很多资料的,我就挑几个最麻烦的记录一下吧。
1.双击事件
整了一顿,愣是没找到事件在哪。最后,也是受前辈指点,在类这一栏里,属性,事件里,可以自动添加事件……VS的IDE还是挺强大的嘛。
废话少说,上代码,其中的TreeData是我自定义的一个结构体,用来保存第三方数据(也就是我们自己需要用的数据比如IP,端口什么的)的,可以无视之。
void CLeftView::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
CTreeCtrl &pTreeCtrl = GetTreeCtrl();
HTREEITEM hSelect = pTreeCtrl.GetSelectedItem();
TreeData* td = (TreeData *)pTreeCtrl.GetItemData(hSelect);
if(td){
if(td->type == 2){
if(td->UserData.mLineStatus != L"1"){
AfxMessageBox(L"该用户不在线,无法进行连接请求,请稍后再试。");
}else{
AfxGetMainWnd()->SendMessage(WM_CONNECT_SERVER, (WPARAM)td, 0);
}
}
}else{
AfxMessageBox(L"