hur.cn - 华软网

 热门搜索

继承CFileDialog类 遇到问题。。

  作者:未知    来源:网络    更新时间:2011/4/14
按照vc++技术内幕那本书 136页的那个例子用vs2008做的

运行完窗口照旧原来的打开资料的窗口 除题目被换掉


检查没有什么不一样的地方

除其中有一段是要把组合框id 改成  stc32=0x45f 

然则我改这个id 改完会变回 stc32     后面的=0x45f会自己消失....


能运行然则没效果。。不知道该怎么办了 

求助。。

---华软 网友回答---
http://www.vckbase.com/document/viewdoc.asp?id=417
---华软网友回复---
再次膜拜楼上
---华软网友回复---
我设置的进程是

对话框 id 设为IDD_SPECIAL 属性style 设为child  border设为none clip sibling设为true visible 设为true

加入一个 group box  id 设为 stc32=0x045f  在资源符号里查看已经设置成功

然后双击对话框 创建了CSpecialFileDialog类 派生自CDialog

然后把头资料和cpp中的所有CDialog 改成CFileDialog

SpecialFileDialog.h中构造函数

C++">CSpecialFileDialog(BOOL bOpenFileDialog,
LPCTSTR lpszDefExt=NULL,
LPCTSTR lpszFileName=NULL,
DWORD dwFlags=OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter =NULL,
CWnd* pParent = NULL);  


SpecialFileDialog.cpp中构造函数

C++">
CSpecialFileDialog::CSpecialFileDialog(BOOL bOpenfileDialog,
   LPCTSTR lpszDefExt,
   LPCTSTR lpszfileName,
   DWORD dwFlags,
   LPCTSTR lpszFilter,
CWnd* pParent):CFileDialog(bOpenfileDialog,lpszDefExt,lpszfileName,
dwFlags,lpszFilter,pParent)
{
m_ofn.Flags=m_ofn.Flags|OFN_ENABLETEMPLATE;
m_ofn.lpTemplateName=MAKEINTRESOURCE(IDD_FILESPECIAL);
m_ofn.lpstrTitle=TEXT("Delete File");
m_bDeleteAll=FALSE;

}


调用部份
C++">
CSpecialFileDialog dlgFile(TRUE,NULL,TEXT("*.obj"));
dlgFile.DoModal();


后面的代码都是改控件caption  删除资料等等

到这步应该能改变对话框  然则对话框照旧没转变

帮我看看。。。

---华软网友回复---
引用 1 楼 visualeleven 的回复:
http://www.vckbase.com/document/viewdoc.asp?id=417

你是我的偶像 。。
---华软网友回复---
http://www.vckbase.com/document/viewdoc.asp?id=417
这个是用辅佐类实现的....

帮我看看我模仿C++技术内幕的那种方法哪犯错了...
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。