<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[CFileDialog Problem]]></title><description><![CDATA[<p>In einem meiner Dialogfenster können 2 CFileDialoge zum Auswählen bestimmter Dateien geöffnet werden.</p>
<p>1.:</p>
<pre><code class="language-cpp">CString strFilter = _T(&quot;mac-Dateien (*.mac)|*.mac&quot;);	
CString strName = &quot;&quot;;						

CFileDialog DateiDialog (TRUE, &quot;&quot;, strName, OFN_CREATEPROMPT | OFN_EXPLORER | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, strFilter);
</code></pre>
<p>2.:</p>
<pre><code class="language-cpp">CString strFilter = _T(&quot;exe-Dateien (*.exe)|*.exe|com-Dateien (*.com)|*.com||&quot;);
</code></pre>
<p>Nun ist das Problem, dass sich das Programm anscheinend meinen Wert für den strFilter merkt, das heißt wenn ich den ersten CFileDialog aufrufe und danach den 2., dann kann ich sowohl *.mac, als auch *.com-Dateien auswählen.</p>
<p>Das möchte ich aber nicht! Wie kann ich das vermeiden?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/43147/cfiledialog-problem</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 12:15:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/43147.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Jul 2003 09:18:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CFileDialog Problem on Sat, 19 Jul 2003 09:18:50 GMT]]></title><description><![CDATA[<p>In einem meiner Dialogfenster können 2 CFileDialoge zum Auswählen bestimmter Dateien geöffnet werden.</p>
<p>1.:</p>
<pre><code class="language-cpp">CString strFilter = _T(&quot;mac-Dateien (*.mac)|*.mac&quot;);	
CString strName = &quot;&quot;;						

CFileDialog DateiDialog (TRUE, &quot;&quot;, strName, OFN_CREATEPROMPT | OFN_EXPLORER | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY, strFilter);
</code></pre>
<p>2.:</p>
<pre><code class="language-cpp">CString strFilter = _T(&quot;exe-Dateien (*.exe)|*.exe|com-Dateien (*.com)|*.com||&quot;);
</code></pre>
<p>Nun ist das Problem, dass sich das Programm anscheinend meinen Wert für den strFilter merkt, das heißt wenn ich den ersten CFileDialog aufrufe und danach den 2., dann kann ich sowohl *.mac, als auch *.com-Dateien auswählen.</p>
<p>Das möchte ich aber nicht! Wie kann ich das vermeiden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/312626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/312626</guid><dc:creator><![CDATA[Dressman1981]]></dc:creator><pubDate>Sat, 19 Jul 2003 09:18:50 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog Problem on Sat, 19 Jul 2003 11:58:39 GMT]]></title><description><![CDATA[<p>Üblicherweise einfach zwei verschieden CFileDialog Objekte.</p>
<pre><code class="language-cpp">void myfunc()
{
  {
    CFileDialog fd(...);
    fd.DoModal();
  }

  {
    CFileDialog fd(...);
    fd.DoModal();
  }
}
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">{
	CFileDialog fd(true,&quot;&quot;,&quot;&quot;,0,&quot;Exe|*.exe|&quot;);
	fd.DoModal();

	fd.m_ofn.lpstrFilter = &quot;Dll\0*.dll\0&quot;;
	fd.DoModal();
}
</code></pre>
<p>Bei der 2. Methode wird aber z.B. der Dateiname von Dialog 1 mit übernommen (da in m_ofn gespeichert)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/312716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/312716</guid><dc:creator><![CDATA[Oliver]]></dc:creator><pubDate>Sat, 19 Jul 2003 11:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog Problem on Sat, 19 Jul 2003 12:21:20 GMT]]></title><description><![CDATA[<p>Danke für die Antwort! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Mensch, das ist ja kurios. Wenn ich im Nachhinein mit:</p>
<p>DateiDialog.m_ofn.lpstrFilter = &quot;mac-Dateien (<em>.mac)\0</em>.mac\0&quot;;</p>
<p>den Filter setze, dann funktioniert es.<br />
Wenn ich es wie zuvor beschrieben mache, dann übernimmt er einfach den 2. Eintrag vom ersten Filter. Komisch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/312733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/312733</guid><dc:creator><![CDATA[Dressman1981]]></dc:creator><pubDate>Sat, 19 Jul 2003 12:21:20 GMT</pubDate></item><item><title><![CDATA[Reply to CFileDialog Problem on Mon, 21 Jul 2003 06:49:06 GMT]]></title><description><![CDATA[<p>Weil du vergessen hast, den String mit '||' abzuschliessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/313687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/313687</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Mon, 21 Jul 2003 06:49:06 GMT</pubDate></item></channel></rss>