<?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[Modal oder nichtmodal nehmen???]]></title><description><![CDATA[<p>Hallo alle zusammen,<br />
Schon mal im voraus, Entschuldigung für mein deutsch, ich versuche mich verständlich auszudrücken...</p>
<p>Ich rufe ein Dialog wo ich überprüfen möchte ob man die OK-Taste gedrückt hat, so auf:</p>
<pre><code class="language-cpp">if (meindialog.DoModal() == IDOK)
       tue irgendwas...
</code></pre>
<p>Wenn ich von vorne rein irgendwas verändern möchte, dann rufe ich das Dialog nicht modal auf, und zwar z.B. so:</p>
<pre><code class="language-cpp">meindialog* ME_Dlg=new meindialog();    
    ME_Dlg-&gt;Create(IDD_DIALOG,NULL);
    CString title;
    title = &quot;irgendwas was im Titel erscheinen soll&quot;;
    ME_Dlg-&gt;SetWindowText(title);
    ME_Dlg-&gt;m_LISTE.SetExtendedStyle( LVS_EX_FULLROWSELECT );
        ME_Dlg-&gt;m_LISTE.SetHeadings(      _T(&quot;Nr,48;Name,126;Telefon,106;Telefax,106;E-Mail,106;Info,106;&quot;) );
    ME_Dlg-&gt;m_LISTE.LoadColumnInfo();

    ME_Dlg-&gt;ShowWindow(SW_SHOWNORMAL);
</code></pre>
<p>In diesem Fall wird ein titel erzeugt und ich verändere auch was in der CListCtrl...</p>
<p>Soweit ist alles i.O.<br />
Nun, möchte ich jetzt bei einem Dialog wo ich von vornerein was verändert habe, überprüfen wann der user die OK taste drückt...</p>
<p>Wie kann ich das machen???<br />
Kann ich bei modale Fenstern auch was verändern bevor ich es zeige?<br />
Oder, kann ich bei nichtmodale überprüfen ob die Ok taste betätigt worden ist...<br />
Und zwar, soll die Überprüfung im Dialog geschehen wo ich den zweiten aufrufe...</p>
<p>Danke im voraus...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/57166/modal-oder-nichtmodal-nehmen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 12:01:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/57166.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 02 Dec 2003 14:43:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Modal oder nichtmodal nehmen??? on Tue, 02 Dec 2003 14:43:14 GMT]]></title><description><![CDATA[<p>Hallo alle zusammen,<br />
Schon mal im voraus, Entschuldigung für mein deutsch, ich versuche mich verständlich auszudrücken...</p>
<p>Ich rufe ein Dialog wo ich überprüfen möchte ob man die OK-Taste gedrückt hat, so auf:</p>
<pre><code class="language-cpp">if (meindialog.DoModal() == IDOK)
       tue irgendwas...
</code></pre>
<p>Wenn ich von vorne rein irgendwas verändern möchte, dann rufe ich das Dialog nicht modal auf, und zwar z.B. so:</p>
<pre><code class="language-cpp">meindialog* ME_Dlg=new meindialog();    
    ME_Dlg-&gt;Create(IDD_DIALOG,NULL);
    CString title;
    title = &quot;irgendwas was im Titel erscheinen soll&quot;;
    ME_Dlg-&gt;SetWindowText(title);
    ME_Dlg-&gt;m_LISTE.SetExtendedStyle( LVS_EX_FULLROWSELECT );
        ME_Dlg-&gt;m_LISTE.SetHeadings(      _T(&quot;Nr,48;Name,126;Telefon,106;Telefax,106;E-Mail,106;Info,106;&quot;) );
    ME_Dlg-&gt;m_LISTE.LoadColumnInfo();

    ME_Dlg-&gt;ShowWindow(SW_SHOWNORMAL);
</code></pre>
<p>In diesem Fall wird ein titel erzeugt und ich verändere auch was in der CListCtrl...</p>
<p>Soweit ist alles i.O.<br />
Nun, möchte ich jetzt bei einem Dialog wo ich von vornerein was verändert habe, überprüfen wann der user die OK taste drückt...</p>
<p>Wie kann ich das machen???<br />
Kann ich bei modale Fenstern auch was verändern bevor ich es zeige?<br />
Oder, kann ich bei nichtmodale überprüfen ob die Ok taste betätigt worden ist...<br />
Und zwar, soll die Überprüfung im Dialog geschehen wo ich den zweiten aufrufe...</p>
<p>Danke im voraus...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406485</guid><dc:creator><![CDATA[moegeler]]></dc:creator><pubDate>Tue, 02 Dec 2003 14:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to Modal oder nichtmodal nehmen??? on Tue, 02 Dec 2003 14:50:16 GMT]]></title><description><![CDATA[<p>Hi<br />
&quot;Kann ich bei modale Fenstern auch was verändern bevor ich es zeige?&quot;<br />
Klar, überschreibe zum Beispiel die DoModal Funktion...</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406492</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 02 Dec 2003 14:50:16 GMT</pubDate></item><item><title><![CDATA[Reply to Modal oder nichtmodal nehmen??? on Tue, 02 Dec 2003 14:52:02 GMT]]></title><description><![CDATA[<p>Sicher kannst du auf bei modalen Dialogen vorher was verändern - es geht nur anders.</p>
<p>Für deinen Fenstertitel machst du dir eine Membervariable im Dialog. In die packst du (wie auch immer) vor dem Aufruf von DoModal deinen Titel rein. In OnInitDialog guckst du, was in der Variable drin steht und setzt das als Fenstertitel.</p>
<p>Oder du baust eine Funktion, die du statt DoModal aufrufst, aber mit Parametern.<br />
z.B. int Show(CString strFenstertitel);<br />
In der kannst du die Membervariable(n) füllen und rufst dann DoModal auf.<br />
also:</p>
<pre><code class="language-cpp">int CMeinDlg::Show(CString strFenstertitel)
{
  m_strFenstertitel = strFenstertitel;
  DoModal();
}
</code></pre>
<p>----------------------------------------------</p>
<p>Du kannst ja im nichtmodalen Dialog in OnOK dir merken, dass eben OK gedrückt wurde (Membervariable) und dann von außen abfragen.</p>
<p>Hoffe das hat dir geholfen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/406495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406495</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 02 Dec 2003 14:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to Modal oder nichtmodal nehmen??? on Tue, 02 Dec 2003 15:13:04 GMT]]></title><description><![CDATA[<p>Hallo nochmal,<br />
wollte nochmal etwas zu estartu_de ergänzen.</p>
<p>Wenn du seine Lösung verwendest, musst du beachten, dass die OnInitDialog Funktion mit DoModal aufgerufen wird, dass also vor DoModal noch keine Steuerelemente &quot;erstellt&quot; wurden.</p>
<p>Mach sowas also lieber nicht:</p>
<pre><code class="language-cpp">meindialog dlg;
dlg.m_ctlEingabefeld.ShowWindow(SW_HIDE);
dlg.DoModal();
</code></pre>
<p><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>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406521</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Tue, 02 Dec 2003 15:13:04 GMT</pubDate></item><item><title><![CDATA[Reply to Modal oder nichtmodal nehmen??? on Tue, 02 Dec 2003 15:09:38 GMT]]></title><description><![CDATA[<p>Danke schon mal an euch beide... Toll dass ihr geantwortet habt...<br />
Ich werde es probieren... Falls es nicht funktioniert, melde ich mich nochmal...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/406532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/406532</guid><dc:creator><![CDATA[moegeler]]></dc:creator><pubDate>Tue, 02 Dec 2003 15:09:38 GMT</pubDate></item></channel></rss>