<?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[Problem mit Dialog der andere Klasse anspricht]]></title><description><![CDATA[<p>Mir ist keine bessere Überschrift eingefallen.</p>
<p>Es geht darum, dass ich in meinem Hauptdialog einen anderen Dialog<br />
anzeigen lasse.</p>
<p>Das mache ich so:</p>
<pre><code class="language-cpp">MeineKlasse gothere;
gothere.DoModal();
</code></pre>
<p>Nun kann man in dem sich öffnenden Fenster einen Button drücken,<br />
der aus der Hauptanwendung eine Funktion aufruft. Und zwar die,<br />
die kommt wenn man dort direkt den Button IDC_BUTTON2 gedrückt hätte.</p>
<p>Das mache ich so:</p>
<pre><code class="language-cpp">MessageBox(&quot;es wird gerufen...&quot;); // bis hier alles ok
CHauptKlasseDlg zeige;
zeige.OnBnClickedButton2();
</code></pre>
<p>Die MessageBox kommt auch. Aber dann schließt sich das Programm<br />
einfach ohne jede weitere Aktion oder Meldung.</p>
<p>Bin noch sehr in den Anfängen der MFC. Wo liegt mein Fehler?</p>
<p>Hintergrund warum ich das mache:</p>
<p>Das Hauptfenster ist sehr groß. Es soll also im Tray über das Menü<br />
dieses viel kleinere Unterfenster gerufen werden und das bleibt immer<br />
OnTop. So kann ich meine Anwendung weiter bedienen auch wenn nun mein<br />
ganzer Bildschirm von einer Vollbildanwendung überlagert wird!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155883/problem-mit-dialog-der-andere-klasse-anspricht</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 07:20:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155883.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 Aug 2006 18:45:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Thu, 10 Aug 2006 18:45:45 GMT]]></title><description><![CDATA[<p>Mir ist keine bessere Überschrift eingefallen.</p>
<p>Es geht darum, dass ich in meinem Hauptdialog einen anderen Dialog<br />
anzeigen lasse.</p>
<p>Das mache ich so:</p>
<pre><code class="language-cpp">MeineKlasse gothere;
gothere.DoModal();
</code></pre>
<p>Nun kann man in dem sich öffnenden Fenster einen Button drücken,<br />
der aus der Hauptanwendung eine Funktion aufruft. Und zwar die,<br />
die kommt wenn man dort direkt den Button IDC_BUTTON2 gedrückt hätte.</p>
<p>Das mache ich so:</p>
<pre><code class="language-cpp">MessageBox(&quot;es wird gerufen...&quot;); // bis hier alles ok
CHauptKlasseDlg zeige;
zeige.OnBnClickedButton2();
</code></pre>
<p>Die MessageBox kommt auch. Aber dann schließt sich das Programm<br />
einfach ohne jede weitere Aktion oder Meldung.</p>
<p>Bin noch sehr in den Anfängen der MFC. Wo liegt mein Fehler?</p>
<p>Hintergrund warum ich das mache:</p>
<p>Das Hauptfenster ist sehr groß. Es soll also im Tray über das Menü<br />
dieses viel kleinere Unterfenster gerufen werden und das bleibt immer<br />
OnTop. So kann ich meine Anwendung weiter bedienen auch wenn nun mein<br />
ganzer Bildschirm von einer Vollbildanwendung überlagert wird!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114785</guid><dc:creator><![CDATA[Ury]]></dc:creator><pubDate>Thu, 10 Aug 2006 18:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Thu, 10 Aug 2006 19:22:05 GMT]]></title><description><![CDATA[<p>Tssssssss.... Ich hab erlich gesagt nich verstanden was du willst...</p>
<p>Auf einen Dialog den du Modal aufrufst kannst du nicht von außen zugreifen! ...</p>
<p>Aber versuchs mal anders zu erklären dann kann man dir auch helfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114801</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 19:22:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Thu, 10 Aug 2006 20:19:49 GMT]]></title><description><![CDATA[<p>Wie kann ich meine Anwendung ins Tray minimieren und von dort ein<br />
kleines Fenster aufrufen, das mir entsprechende Funktionen der<br />
Anwendung aufruft?</p>
<p>Ich muss den Inhalt von Button2 aufrufen.</p>
<p>Im Tray liegt die Anwendung schon. Ist also erledigt. Aber wie komme ich<br />
nun an die enstprechenden Aufrufe der Funktion?! Ich will NICHT im Tray<br />
immer auf das Icon klicken und dann aus dem Rechtsklick-Menü die Funktion<br />
rufen! Das würde zwar gehen, ABER meine Startleiste ist während der Arbeit<br />
IMMER von einer Vollbildanwendung verdeckt! Ich brauche also ZWINGEND ein<br />
immer vorhandenes KLEINES Fenster das mir schnell und problemlos eine<br />
Funktion meiner Anwendung aufruft!</p>
<p>Oki <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <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>Kurz:</p>
<p>1.Meine Anwendung im Tray versenkt</p>
<p>2.Klick auf Meine Anwendung im Tray erzeugt nicht Aufruf der Anwendung selbst,<br />
sondern eines kleinen Minibedienfensters-&gt;hier also Unter-Dialog mit einem<br />
einzigen Button für eine Funktion die aber im Hauptdialog steckt und dort<br />
gerufen werden soll!!</p>
<p>3.Ich klick auf den kleinen Button des Unter-Dialog wann immer ich will, um die gewünschte Aktion zu starten (Screenshot erzeugen).</p>
<p>4.Freue mich dass ich nun nicht mehr das Vollbildprogramm minimieren muss um<br />
an die Taskleiste zu kommen, um mein Programm aufzurufen um etwas zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114835</guid><dc:creator><![CDATA[Ury]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Thu, 10 Aug 2006 20:50:07 GMT]]></title><description><![CDATA[<p>Hmm... mit doppelklick auf das Icon oder einzellklick? Doppelklick fängst de einfach die WM die de beim erstellen des Icons mit angegeben hast ab und rufst dann deinen Dialog auf... rufst noch setwindowpos auf und verschiebst ihn an die richtige stelle</p>
<p>PS: Sry. ich bin müde und garantiere nicht für meine Aussagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114855</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 10 Aug 2006 20:50:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Thu, 10 Aug 2006 21:11:16 GMT]]></title><description><![CDATA[<p>Hmm...ich brauch nur nen Unterdialog aus meiner Anwendung.<br />
Den Krieg ich ja auch. Aber der Funktionsaufruf ist müll,<br />
weil die Funktion im Hauptdialog liegt. Alles andere ist kein Problem.</p>
<p>Knackpunkt:</p>
<pre><code class="language-cpp">CHauptKlasseDlg fuehreaus; //CHauptKlasseDlg ist mein Hauptdialog
fuehreaus.OnBnClickedButton2(); // ne wird nix. Programm beendet sich!
                                //ich will aber im Hauptdialog den Aufruf für dessen Button2 haben ich ruf das ausm Unterdialog auf!
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1114878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114878</guid><dc:creator><![CDATA[Ury]]></dc:creator><pubDate>Thu, 10 Aug 2006 21:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Thu, 10 Aug 2006 21:38:22 GMT]]></title><description><![CDATA[<p>wenn du von einem unterdialog des hauptdialogs ne funktion ansprechen willst geht das nur wenn du im hauptdialog die PreTranslateMessage(MSG* pMsg) funktion setzt und dort nachrichten abfängst die der unterdialog per PostMessage an den hauptdialog sendet dann stürzt auch dein prog nicht einfach so ab.</p>
<p>von der PreTranslateMessage(MSG* pMsg) funktion im Hauptdialog verweist du dann auf die gewünschte funktion.</p>
<p>Hauptdialog</p>
<pre><code>BOOL .....::PreTranslateMessage(MSG* pMsg) 
{

	switch(pMsg-&gt;message)
	{
		case IDC_MACHWAS:
                   OnFunktionImHauptdialog()
		break;
	}	
	return CDialog::PreTranslateMessage(pMsg);
}
</code></pre>
<p>unterdialog in irgendeiner funktion</p>
<pre><code>void ....::OnBottunKlick()
{
	CHauptDlg *pHDlg = new CHauptDlg();
	pHDlg-&gt;PostMessage(IDC_MACHWAS,0,0);
}
</code></pre>
<p>hoffe das ich dich richtig verstanden hab, schreibst ein bischen wirr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>ach ja die headerdatei des haupdialogs nicht vergessen im Unterdialog unterhalb der header includanweisung (des Unterdialogs) zu includen</p>
<p>und die IDC_MACHWAS muste in der resourcen.h noch definieren</p>
<p>mfg<br />
LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1114887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1114887</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Thu, 10 Aug 2006 21:38:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 16:01:58 GMT]]></title><description><![CDATA[<p>Hö öhm... wenn wir mal davon ausgehen das du das meinst was LowFly schrieb... dafür legt man in der MessageMap nen Eintrag ein... nix PreTranslateMessage <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ... aja.. die Message sollte man sich vorher natürlich definieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115478</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 11 Aug 2006 16:01:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 20:48:17 GMT]]></title><description><![CDATA[<p>Hallo (D)evil. Wenn man sich eine Message definieren will, was muss man da machen?<br />
In die MessageMap eintragen..und weiter?</p>
<p>Vermute mal ein</p>
<pre><code class="language-cpp">#define myMessage
</code></pre>
<p>und</p>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(...)
ON_COMMAND(myMessage,Funktion)
</code></pre>
<p>??</p>
<p>Und dann mit</p>
<pre><code class="language-cpp">PostMessage(myMessage,0,0)
</code></pre>
<p>aufrufen??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115649</guid><dc:creator><![CDATA[Glome]]></dc:creator><pubDate>Fri, 11 Aug 2006 20:48:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 21:05:21 GMT]]></title><description><![CDATA[<p>Nee... nicht ganz <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Also:</p>
<pre><code class="language-cpp">#define WM_MYMESSAGE WM_USER+101
</code></pre>
<p>Damit haben wir eine eigene Nachricht.</p>
<p>Dann gehen wir in die MessageMap und fügen dort nen ON_MESSAGE Eintry...</p>
<p>Aja... dafür müssen wir natürlich erstmal ne Function einführen die dann aufgerufen werden soll:</p>
<pre><code class="language-cpp">class CMyClass // ...
protected:
    LRESULT OnMyMessage(LPARAM lParam, WPARAM wParam); // Kann sein das ich lParam und wParam vertauscht habe... ich arbeite ausm Brain ;)
// ...
</code></pre>
<pre><code class="language-cpp">BEGIN_MESSAGE_MAP(/*... */)
    ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
    // ...
</code></pre>
<p>Die Nachricht schickst du dann mit PostMessage oda SendMessage ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115657</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 11 Aug 2006 21:05:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 21:12:40 GMT]]></title><description><![CDATA[<p>Na cool. Dann glaub ich hab ich zumindest das schonmal verstanden.</p>
<p>Ich kann damit dann aber ja noch nicht aus nem andren Dialog,<br />
der Modal ist, mit</p>
<pre><code class="language-cpp">hauptklasse.PostMessage(WM_MYMESSAGE,0,0);
</code></pre>
<p>ne Funktion starten??</p>
<p>Würde das mit nem nicht modalen Dialog dann gehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115660</guid><dc:creator><![CDATA[Glome]]></dc:creator><pubDate>Fri, 11 Aug 2006 21:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 21:28:48 GMT]]></title><description><![CDATA[<p>Hmm aus einem Modalen Dialog heraus sollte es gehen... nur anderes herum nicht... Aja... wenn deine hauptklasse, der MainDialog ist... also den du in der InitInstance angegeben hast... dann kannst de nen Pointer auf den mit AfxGetMainWnd holen... dann einfach PostMessage aufrufen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115671</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 11 Aug 2006 21:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 21:43:02 GMT]]></title><description><![CDATA[<p>Na super. Da hast du mir echt geholfen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> Jetzt versteh ich den<br />
Sinn dahinter viel besser! Man muss halt nur WM_MYMESSAGE per #define<br />
nochmal in dem modalen Dialog zusätzlich anlegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1115693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115693</guid><dc:creator><![CDATA[Glome]]></dc:creator><pubDate>Fri, 11 Aug 2006 21:43:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Dialog der andere Klasse anspricht on Fri, 11 Aug 2006 21:51:18 GMT]]></title><description><![CDATA[<p>Schön das ich dir helfen konnte <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/1115699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1115699</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 11 Aug 2006 21:51:18 GMT</pubDate></item></channel></rss>