通过查阅资料,已经在一个Dialog里实现了TreeCtrl控件,现在需要在里面加入各item对应的页面,要求用SDK实现。问题描述和例子请见:http://www.dyc.googlepages.com/home想请教:思路是什么?如果有源码,能否提供一下?我目前的思路不知是否可行?思路如下:我在有Tree控件的Dialog里放入一个框group box,ID是“IDC_DLG_AREA”,在调用这个Dialog后,我该Dialog初始化时同时用HIDE的方式打开另两个Dialog,将MoveWindow到IDC_DLG_AREA指定的区域。在TreeCtrl里点不同的item,将相应的Dialog显示或隐藏。新手,请多多指点。如果分不够,可以再另开一个帖子,再送上100。
拜托高人了!诚心感谢!!
拜托高人了!诚心感谢!!
比如,我创建对话框:g_hDlg1 = CreateDialog (hInstance, MAKEINTRESOURCE(IDD_TREEROOT1), 0, DlgTreeRoot1);
g_hDlg2 = CreateDialog (hInstance, MAKEINTRESOURCE(IDD_TREEROOT2), 0, DlgTreeRoot2);之后,我如何将该指针放到treeview中并使用SetItemData方法去控制每个对话框的显示与隐藏?
请抽空指点一下有没有可供参考的资料?
这个函数是否只适用于CTreeCtrl,用于MFC,而不是SDK?
case WM_NOTIFY:
NMHDR *pNmhdr = (NMHDR *)LParam;
if(pNmhdr->hwndFrom == hWndTreeView)
{
if(pNmhdr->code == TVN_SELCHANGED)
{
// 节点改变
}
}
我现在的方法是通过SendMessage来实现,是否还有更好的方法?另,我现在只会:
g_hDlg1 = CreateDialog (g_hInst, MAKEINTRESOURCE(IDD_TREEROOT1), hWnd, DlgTreeRoot1);
g_hDlg2 = CreateDialog (g_hInst, MAKEINTRESOURCE(IDD_TREEROOT2), hWnd, DlgTreeRoot2);
ShowWindow(g_hDlg1, SW_HIDE);
ShowWindow(g_hDlg2, SW_HIDE);
MoveWindow(g_hDlg1, 200, 20, 200, 200, true);
MoveWindow(g_hDlg2, 200, 20, 200, 200, true);
这样的方法把子窗口移到指定区域,而我在父窗口里放入一个框group box,ID是“IDC_DLG_AREA”,怎样才能MoveWindow到 IDC_DLG_AREA 内?麻烦抽空指点一下。我先把帖给结了。多谢!
如:SendMessage(hWndTreeView, TVM_EXPAND, (WPARAM)TVE_EXPAND, (LPARAM)hItem);
RECT rc;
GetWindowRect(GetDlgItem(hWnd, IDC_DLG_AREA), &rc);
MoveWindow(g_hDlg1, rc.left, rc.top-20, rc.right-rc.left-20, rc.bottom-rc.top-40, true);
MoveWindow(g_hDlg2, rc.left, rc.top-20, rc.right-rc.left-20, rc.bottom-rc.top-40, true);