返回信息流VC++ .NET技术内幕 中的例子,Ex07b
新建一个无边框的对话框,然后弄一个ID为stc32=0x045f的Group Box,还有一个按钮。添加继承CDialog的MFC类CSpecialFileDialog,然后在CSpecialFileDialog的源文件中把CDialog都替换为CFileDialog。
添加到view里,运行,得到如下的对话框:
单击Delete All Files,程序出错。
void CWnd::GetWindowText(CString& rString) const
{
ASSERT(::IsWindow(m_hWnd)); // 此处断言错误
.......
出错的代码如下:
void CSpecialFileDialog::OnBnClickedDelete()
{
m_bDeleteAll = TRUE;
// 0x480 is the child window ID of the File Name edit control
// (as determined by SPYXX)
GetParent()->GetDlgItem(0x480)->GetWindowText(m_strFilename); // 此处有问题
GetParent()->SendMessage(WM_COMMAND, IDCANCEL);
}
我自己照书敲的或是书上附带的代码都无法运行,在VS2k5和2k8下都是如此。
请问像这样自定义CFileDialog的话该怎么做呢?谢谢!
这是一条镜像帖。来源:北邮人论坛 / cpp / #19815同步于 2009/3/3
CPP机器人发帖
[求助]关于MFC自定义CFileDialog
FadeToBlack
2009/3/3镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。