本人是VC 的初学者想请教各位大虾这样一个问题:
建立一个MFCD 的Dialog对话框, 左右两边有两个树形控件, 左边有n 层节点, (可能 3层, 可能4层)。 我想双击左边的任意一个节点 把它加入到右边的树形控件中, 且不能创建多余的节点,只在右边控件原有的基础上加。 应该怎么做呢? 谢谢!!
建立一个MFCD 的Dialog对话框, 左右两边有两个树形控件, 左边有n 层节点, (可能 3层, 可能4层)。 我想双击左边的任意一个节点 把它加入到右边的树形控件中, 且不能创建多余的节点,只在右边控件原有的基础上加。 应该怎么做呢? 谢谢!!
如果会
就为左边的TreeCtrl连接NM_DBCLICK消息
然后在消息函数中获取当前节点
再想右边的tree添加
至于有没有重复
遍历一下就知道了
// 树形控件1的NM_DBLCLK消息响应函数
void CXXXDlg::OnDblclkTree1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
HTREEITEM hItem1 = m_tree1.GetSelectedItem();
if(hItem1)
{
CString strText = m_tree1.GetItemText(hItem1);
HTREEITEM hItem2 = m_tree2.GetSelectedItem();
if(hItem2)
{
m_tree2.InsertItem(strText, hItem2);
m_tree2.Expand(hItem2, TVE_EXPAND);
}
else
{
m_tree2.InsertItem(strText);
}
}
*pResult = 0;
}
建议:你刚学MFC 就一心只求实现某个功能效果,而去忽略中间知识的掌握,这是极其错误的观点。你如果不了解MFC基本的知识和树形控件的基本操作方法。啥也不懂就要实现某个功能,只需要改一处地方就能用的代码给你也是白搭,你只能用一字不改就直接用的代码,对你来说有什么意义呢?还是得学基础。实际上VisualEleven已经将原理说的很清楚了,你改改就行的。
刚升级的逻辑计算器
需要的赶紧去下载了
http://topic.csdn.net/u/20100611/10/0fa785f8-f697-44ef-8883-c1d3e5492a5d.html?28108