TreeCtrl控件使用问题,请进来看看
我在对话框程序中添加了一个tree控件,添加了多选框风格,响应了这个控件的单击事件,
以下是单击事件函数代码
- C/C++ code
//代码如下CPoint pt;GetCursorPos(&pt);m_tree_test.soreenToClient(&pt);HTREEITEM hout2 = m_tree_test.HitTest(pt);CString temp;temp = m_tree_test.GetItemText(hout2);for(int i = 0; i < 29; i++){ //比较我ExpandNodeName存储的字符,如果当前选择的项是ExpandNodeName中存储存储的字符,则进入下一判断 if(memcmp(temp.GetBuffer(),ExpandNodeName[i].Getbuffer,temp.GetLength()) == 0) { if(m_tree_test.GetCheck(hout2))//判断hout2的多选框是否被选中。问题就在这,每次我在界面中单击走到 {//这步的时候,我单击以后跳到这里本应该是true,但是却是false!界面上本来应该是false却是true~~//我很纳闷啊,难道是我在单击界面项以后是先触发了这个函数,然后才给那一项的状态赋值成true么?我该怎么改啊? MessageBox("true"); break; } else { MessageBox("false"); break; } }}
[解决办法]
在你的单击事件中PostMessage一个自定义消息
在这个消息中做你要做的处理