我现在做了个TreeView,结构如下图说示:
+A
---B
---C
我想右击某个结点,跳出个菜单,菜单中有个选项是Rename,点击后,能让用户输入名字,实现结点的改名,请问应该怎么实现
+A
---B
---C
我想右击某个结点,跳出个菜单,菜单中有个选项是Rename,点击后,能让用户输入名字,实现结点的改名,请问应该怎么实现
解决方案 »
- 怎么在基于对话框的应用程序画一个矩形出来?
- 为什么屏蔽OnEraseBkgnd 后,对话框背景变成透明呢?
- 堆栈可以当内存直接读写吗?
- 简单的MFC程序,屏保后不刷新界面,怎么调试?
- Windows 中窗口由激活状态变为非激活状态的消息是什么?
- 链接时候的错误
- 菜鸟想提个问
- 对话框程序的错误
- 列表框LBN_SELCHANGE的问题
- 如何创建一个窗体,该窗体总是在自己程序的最上方(不是所有程序),然后又不影响本程序的其它窗体的输入和消息响应.
- GetEditCtrl().GetSel(m_nStartChar, m_nEndChar )不能够获得m_nStartChar和m_nEndChar的值
- 请问vc中有没有建立树的类或者模块?
然后响应事件TVN_ENDLABELEDIT
可是我在程序里添加了这个消息 ON_COMMAND(ID__RENAME, OnRenameItem),那么在afx_msg void OnRenameSelectSets()这个函数里我应该怎么写才能实现rename呢,(名字由用户从键盘输入)
ptvdi = (LPNMTVDISPINFO) lParam typedef struct tagNMTVDISPINFO {
NMHDR hdr;
TVITEM item;
} NMTVDISPINFO, FAR *LPNMTVDISPINFO; item中有你想要的Text
CEdit* edit = treectrl->GetEditControl();
if ((CEdit *) focus == edit)
{
//或者自己通过GetEditControl得到edit,并GetWindowText
rvalue = TRUE;
}