⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_19026.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:19026 发表者:草席 发表日期:2002-10-25 08:55:18
<br>主题:有关CFileDialog
<br>内容:CFileDialog是VC提供的一个标准的文件打开、存储对话框类,在程序中可以对对话框进行一定的修改!比如可以在原来的基础上,添加按钮等资源!现在我的问题是<BR><BR>选中文件后,点击原来的打开(或者存储)按钮,让对话框继续存在,并执行我自己的相关操作!<BR><BR>我自己考虑可能要用到hook技术,不知道哪位大虾能指点一二!!!谢过
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:凯凯 回复日期:2002-10-25 09:13:37
<br>内容:看看可不可以将原来的打开(或者存储)按钮去掉,自己实现这些按钮,这样它的行为就可以控制。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:草席 回复日期:2002-10-25 09:19:24
<br>内容:to凯凯:<BR>是一个办法,但是......,但是显得太弱菜勒:)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:PLB 回复日期:2002-10-25 09:32:04
<br>内容:继承CFileDialog类和他的对话框资源,在继承类中硬性声明CFileDialog::OnOK(),然后实现之;<BR>看看可行否?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:草席 回复日期:2002-10-25 09:43:19
<br>内容:PLB :<BR><BR>&nbsp;&nbsp; 看来你比较喜欢霸王硬上功:)玩笑,不要在意<BR>&nbsp;&nbsp; 我这个东西比较着急,现在正在用凯凯说的办法实现。我觉得你说的方法不一定行,因为你在继承的对话框中根本就没有IDOK资源,他也不会给你响应你的函数<BR>&nbsp;&nbsp; 当然我还没有试
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:徐景周 回复日期:2002-10-25 10:29:43
<br>内容:可试下面方法:选从它派生一个类,如:<BR>class COpenDataDlg : public CFileDialog<BR>{<BR>// Construction<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;COpenDataDlg(BOOL bOpenFileDialog, <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR lpszDefExt = NULL,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR lpszFileName = NULL,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR lpszFilter = NULL,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CWnd* pParentWnd = NULL);&nbsp;&nbsp;&nbsp;&nbsp; // standard constructor<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtual BOOL OnFileNameOK();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;DECLARE_MESSAGE_MAP()<BR>};<BR>初始化时可实现替换文字等:<BR>COpenDataDlg::COpenDataDlg(BOOL bOpenFileDialog, LPCTSTR lpszDefExt,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR lpszFileName, DWORD dwFlags, LPCTSTR lpszFilter, CWnd* pParentWnd)<BR>&nbsp;&nbsp;&nbsp;&nbsp;: CFileDialog(bOpenFileDialog, lpszDefExt, lpszFileName, dwFlags, lpszFilter, pParentWnd)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;//{{AFX_DATA_INIT(COpenDataDlg)<BR>&nbsp;&nbsp;&nbsp;&nbsp;//}}AFX_DATA_INIT<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_ofn.Flags |= OFN_ENABLETEMPLATE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_ofn.lpTemplateName = MAKEINTRESOURCE(IDD_CURVE_OPENDLG);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_ofn.lpstrTitle = _T("加载数据");<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_bClosed&nbsp;&nbsp;&nbsp;&nbsp;= FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR>BOOL COpenDataDlg::OnInitDialog() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CFileDialog::OnInitDialog();<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;// 嵌套的CFileDialog和此对话框(this)属于同一父窗口<BR>&nbsp;&nbsp;&nbsp;&nbsp;// 但CFileDialog内的控件属于该父窗口,不属于this<BR>&nbsp;&nbsp;&nbsp;&nbsp;CWnd* pWnd = GetParent()-&gt;GetDlgItem(IDOK);<BR>&nbsp;&nbsp;&nbsp;&nbsp;ASSERT(pWnd != NULL);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pWnd-&gt;SetWindowText("选中(&S)");&nbsp;&nbsp;&nbsp;&nbsp;// 指向CFileDialog“打开”按钮<BR>}<BR><BR>在:<BR>BOOL COpenDataDlg::OnFileNameOK()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return !m_bClosed;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// return TRUE -- 阻止对话框关闭<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:草席 回复日期:2002-10-25 10:35:52
<br>内容:还想进一步问,怎么得到原来对话框上的资源?比如OK按钮用IDOK,其他的呢?编辑框,还有其他的资源怎么得到?<BR><BR>感谢徐景周!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:董栋 回复日期:2002-10-25 11:24:23
<br>内容:那个对话框可以更改?<BR>我以前也试过,没有成功啊,兄台指点一下该从何处下手?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:草席 回复日期:2002-10-25 11:44:18
<br>内容:徐景周老兄提供的那段代码就是一个实例
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:董栋 回复日期:2002-10-25 11:57:44
<br>内容:哦,不錯。<BR><BR>可是,如果加了一個按鈕,消息響應的函數應該怎么做呢?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:風在發端 回复日期:2002-11-14 16:15:52
<br>内容:各位,那對那個模板有什么要求嗎? filedialog如何處理新模板里的控件。 它把目錄顯示在哪里?<BR><BR>謝謝
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:John Lan 回复日期:2002-11-14 20:44:18
<br>内容:IDs in &lt;dlgs.h&gt;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:風在發端 回复日期:2002-11-14 21:14:23
<br>内容:dr0, what do you mean?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:John Lan 回复日期:2002-11-14 21:31:42
<br>内容:I mean the control IDs of file dialog are defined in &lt;dlgs.h&gt;<BR>*Inside Visual C++* has a sample which demonstrates how to customize<BR>the CFileDialog.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:風在發端 回复日期:2002-11-14 21:41:59
<br>内容:我今天按照上边的例子写了一个,可是在弹出我的类时,闪了一下就消失了。<BR><BR>为什么啊? 我指定的模板是随便一个IDD_DLG.<BR><BR>我的QQ: 527753 , 希望可以跟你聊一下。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:John Lan 回复日期:2002-11-14 22:07:03
<br>内容:sorry, I have no QQ. <BR>maybe u should use debugger to trace into the nutshell<BR>for the answser.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:風在發端 回复日期:2002-11-14 22:12:21
<br>内容:谢谢,这一步已经搞定了,原来 是我的模板风格定义的不对。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -