关于对父窗口的统制
关于对父窗口的控制C/C++ code::SetDlgItemTextW(GetParent()-m_hWnd,IDC_EDITADD,L测试edit)( (CTest
关于对父窗口的控制
C/C++ code::SetDlgItemTextW(GetParent()->m_hWnd,IDC_EDITADD,L"测试edit");( (CTestDlg*)GetParent())->m_listAdd.AddString(L"测试list");
问题一:CTestDlg是父窗口,我在子窗口上想对父窗口上控件进行操作,通过如上形式实现。区别是对CEdit控件我可以直接用SetDlgItemTextW()来操作。而如果直接用
((CListBox*)::GetDlgItem(GetParent()->m_hWnd,IDC_LISTADD))->InsertString(-1,L"测试list");来实现根本就出错,于是我想出了上面声明一个CListBox m_listAdd 对象来实现。
请问:如果不声明对象应该对CListBox CComboBox 这样的控件如何操作(非同一窗口).
问题二: 想在 CListCtrl 记录里做按钮,应该如何做?也就是每一条记录都有个按钮(如:删除,修改),我现在是用右键菜单或者单击事件来转换的。有没有直接写入按钮的例子,或者对一系列按钮组相同的功能时候应该如何处理,刚学MFC不久,请高人指教下,多谢
再啰嗦个问题:求一个向导页面的例子,有测边栏导航的(像VS2010添加新工程那样的向导,可以点击侧边栏),一直没找到,多谢。
[解决办法]1.操作父窗口的子控件//使用SetDlgItemText
C/C++ codeCWnd* pDlg=GetParent();if(pDlg) pDlg->SetDlgItemText(IDC_EDITADD,_T("测试edit"));//使用GetDlgItemCWnd* pDlg=GetParent();if(pDlg){ CListBox* pListBox=(CListBox*)pDlg->GetDlgItem(IDC_LISTADD); if(pListBox){ pListBox->InsertString(-1,_T("测试list")); }}//强制转换为自定义窗口类CMyWindow* pDlg=(CMyWindow*)GetParent();if(pDlg){ pDlg->m_listAdd.InsertString(-1,_T("测试list"));}
[解决办法]
2. codeproject上搜索XListCtrl
3. 拆分窗口CSplitterWnd