📄 read.cgi-read=9975.htm
字号:
<HTML><HEAD><TITLE>Re: Sane handling of multiple "save as" file formats for one document</TITLE>
</HEAD><BODY background="../fancyhome/back.gif" tppabs="http://www.codeguru.com/fancyhome/back.gif" bgcolor="#FFFFFF">
<table WIDTH="100%"> <tr WIDTH="100%"> <td><table>
<tr><td><img src="../mfc_sourcebook.jpg" tppabs="http://www.codeguru.com/mfc_sourcebook.jpg"
ALT="MFC Programmer's SourceBook" WIDTH="256"
HEIGHT="88"><td></tr>
<tr><td valign="bottom"><font SIZE="+1"
color="#a0a0ff"><b>Discussion Board</b></font></td></tr>
</table></td> <td width="40"></td>
<td align="right" valign="top"><td> </tr> </table> <hr><P ALIGN=CENTER>[ <A HREF="#Responses">Read Responses</A> | <A HREF="#PostResponse">Post a New Response</A> | <A HREF="index.cgi.htm" tppabs="http://www.codeguru.com/mfc_bbs/index.cgi">Return to the Index</A> ]
<A HREF="read.cgi-read=9528.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9528">Previous in Thread</A><P ALIGN=CENTER><BIG><BIG><BIG><STRONG>Re: Sane handling of multiple "save as" file formats for one document</STRONG></BIG></BIG></BIG>
<P ALIGN=CENTER><EM>Posted by <STRONG><A HREF="mailto:railro@earthlink.net">Rail Jon Rogut</A></STRONG> on <STRONG>4/21/98 12:08p.m.</STRONG>, in response to <A HREF="read.cgi-read=9528.htm" tppabs="http://www.codeguru.com/mfc_bbs/read.cgi?read=9528">Sane handling of multiple "save as" file formats for one document</A>, posted by Bruce Moreland on 4/16/98 4:47p.m.</EM></P>
<!-- REMOTE_HOST: 207.217.134.143; REMOTE_ADDR: 207.217.134.143-->
<P>You need to subclass CFileDialog and handle OnTypeChange(). I do it something like:
<P>void CExtFileDlg::OnTypeChange(void)
<BR>{
<BR> CString szTemp, szTemp2;
<P> char szTempText[256];
<P> HWND hDlgWnd = ::GetParent(this->m_hWnd);
<P> ::GetDlgItemText (hDlgWnd, edt1, szTempText, sizeof (szTempText) -1);
<P> DWORD dwExtIndex = m_ofn.nFilterIndex;
<P> szTemp = szTempText;
<P> if (szTemp.GetLength() == 0)
<BR> return;
<P> if (szExtentions[dwExtIndex - 1] == "")
<BR> return;
<P> szTemp2 = ChangeExtention(&szTemp, &(szExtentions[dwExtIndex - 1]));
<P> ::SetDlgItemText(hDlgWnd, edt1, (LPCSTR)szTemp2);
<BR>}
<P>void CMyDoc::OnFileSaveAs()
<BR>{
<BR>CString szOutputFname;
<BR> CString szTemp, szTemp2;
<P> szTemp = m_szTXTfname.Right(3);
<BR> szTemp.MakeUpper();
<P> if (szTemp == "TXT")
<BR> {
<BR> switch (m_iTxtFolderHandling)
<BR> {
<BR> case 0: szTemp = "";
<BR> szTemp2 = m_szTXTfname;
<BR> break;
<P> case 1: szTemp = AfxGetApp()->GetProfileString("TXT Preferences", "LastPath");
<BR> szTemp2 = GetMyFileName(&m_szTXTfname);
<BR> break;
<P> case 2: szTemp = AfxGetApp()->GetProfileString("TXT Preferences", "DefaultPath");
<BR> szTemp2 = GetMyFileName(&m_szTXTfname);
<BR> break;
<BR> }
<BR> }
<P>CExtFileDlg dlg(FALSE, _T("txt"), szTemp2,
<BR> OFN_FILEMUSTEXIST | OFN_HIDEREADONLY,
<BR> _T("Text Documents (*.txt)|*.txt|CSV (Comma delimited) (*.csv)|*.csv||"));
<P> dlg.szExtentions[0] = "txt";
<BR> dlg.szExtentions[1] = "csv";
<P> if (szTemp.GetLength())
<BR> dlg.m_ofn.lpstrInitialDir = szTemp;
<P> if (dlg.DoModal() != IDOK)
<BR> return;
<P> szOutputFname = dlg.GetPathName();
<P> szTemp = szOutputFname.Right(3);
<P> szTemp.MakeUpper();
<P> if (szTemp == "CSV")
<BR> SaveToCVS(szOutputFname);
<BR> else
<BR> SaveToText(szOutputFname, TRUE);
<BR>}
<P>Rail
<BR>Recording Engineer/Software Developer
<BR>Rail Jon Rogut Software
</P>
<P ALIGN=CENTER><EM><A HREF="http://home.earthlink.net/%7erailro/">Rail Jon Rogut Software</A></EM></P>
<A NAME="Responses"><HR></A><P ALIGN=CENTER><BIG><BIG><STRONG>Responses</STRONG></BIG></BIG>
<P><UL>(No responses to this message have been posted.)</UL></P>
<A NAME="PostResponse"><HR></A><P ALIGN=CENTER><BIG><BIG><STRONG>Post a New Response</STRONG></BIG></BIG>
<P><FORM METHOD=POST ACTION="http://www.codeguru.com/mfc_bbs/index.cgi?post">
<INPUT TYPE=HIDDEN NAME="followup" VALUE="9975">
<P><CENTER><TABLE><TR>
<TD ALIGN=RIGHT><P><STRONG>Your Name:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="name" SIZE=40></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>E-Mail Address:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="email" SIZE=40></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Subject:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="subject" SIZE=40 VALUE="Re: Sane handling of multiple "save as" file formats for one document"></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><P><STRONG>Message:</STRONG><BR><TEXTAREA COLS=80 ROWS=15 NAME="body" WRAP=PHYSICAL>
</TEXTAREA></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like to include a link to another page with your message,<BR>please provide both the URL address and the title of the page:</SMALL></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Link URL:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="url" SIZE=40 VALUE="http://"></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Link Title:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="url_title" SIZE=40></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like to include an image (picture) with your message,<BR>please provide the URL address of the image file:</SMALL></TD></TR><TR>
<TD ALIGN=RIGHT><P><STRONG>Optional Image URL:</STRONG></TD><TD><INPUT TYPE=TEXT NAME="imageurl" SIZE=40 VALUE="http://"></TD></TR><TR>
<TD COLSPAN=2 ALIGN=CENTER><HR WIDTH=50%><P><SMALL>If you'd like e-mail notification of responses, please check this box:</SMALL> <INPUT TYPE=CHECKBOX NAME="wantnotice" CHECKED VALUE="yes"></TD></TR><TR>
<TH COLSPAN=2><HR WIDTH=50%><P><INPUT TYPE=SUBMIT NAME="Preview" VALUE="Preview Message"> <INPUT TYPE=SUBMIT NAME="Post" VALUE="Post Message"></TH></TR></TABLE></CENTER></P></FORM>
<HR><P ALIGN=CENTER><SMALL>The MFC Discussion Board is maintained with <STRONG><A HREF="http://awsd.com/scripts/webbbs/">WebBBS 2.24</A></STRONG>.</SMALL></P>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -