<?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[deaktivieren eines ganzen Dialogs]]></title><description><![CDATA[<p>Wie kann ich in VC++ einen ganzen Dialog mit allen Schaltflächen deaktivieren? Wie man einzelne Schalter deaktiviert oder unsichtbar macht, weis ich. Das Ziel soll sein, daß es nach Betätigen einer Schaltfläche für eine bestimmte Zeit nicht möglich ist, weitere Schalter zu betätigen. Vielleicht kann mir jemand einen Tip zu einer passenden Funktion geben. Das Programm wird ein SDI, die betreffende Klasse ist eine View. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/61878/deaktivieren-eines-ganzen-dialogs</link><generator>RSS for Node</generator><lastBuildDate>Wed, 03 Jun 2026 23:56:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/61878.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Jan 2004 11:31:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 11:31:12 GMT]]></title><description><![CDATA[<p>Wie kann ich in VC++ einen ganzen Dialog mit allen Schaltflächen deaktivieren? Wie man einzelne Schalter deaktiviert oder unsichtbar macht, weis ich. Das Ziel soll sein, daß es nach Betätigen einer Schaltfläche für eine bestimmte Zeit nicht möglich ist, weitere Schalter zu betätigen. Vielleicht kann mir jemand einen Tip zu einer passenden Funktion geben. Das Programm wird ein SDI, die betreffende Klasse ist eine View. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439007</guid><dc:creator><![CDATA[Rudie]]></dc:creator><pubDate>Sun, 18 Jan 2004 11:31:12 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 13:48:05 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>mit</p>
<pre><code class="language-cpp">EnableWindow(FALSE);
</code></pre>
<p>wird das ganze Fenster gegen jegliche Eingabe gesperrt...</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439086</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Sun, 18 Jan 2004 13:48:05 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 15:38:20 GMT]]></title><description><![CDATA[<p>Hm, ja danke, Probe-Nutzer, der Befehl EnableWindows(FALSE); ist mir bekannt. Das Problem daran ist, daß der Schalter (das Fenster) auf den dieser Befehl angewendet wird, auch sichtbar deaktiviert wird. Es soll in dem Programm eine (virtuelle Klavier-)Tastatur für 3 Sekunden für weitere Eingaben gesperrt werden, und dann wieder zur Verfügung stehen. Wenn ich jetzt die Tasten (Schalter) mit EnableWindows(FALSE); ausschalte, sieht die Tastatur nicht mehr gut aus. Eigentlich will ich nur für die kurze Zeit unterbinden, daß durch einen Mausklick eine Nachricht ausgelöst wird, ohne daß der Nutzer optisch eine Veränderung der Bedienoberfläche wahrnimmt.</p>
<p>Danke trotzdem für Deine Bemühungen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439185</guid><dc:creator><![CDATA[Rudie]]></dc:creator><pubDate>Sun, 18 Jan 2004 15:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 15:39:33 GMT]]></title><description><![CDATA[<p>Hm, 3 Sekunden die Eingabe in deiner Funktion, wo das alles ankommt, ignorieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439187</guid><dc:creator><![CDATA[Mis2com]]></dc:creator><pubDate>Sun, 18 Jan 2004 15:39:33 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 15:54:25 GMT]]></title><description><![CDATA[<p>...ist warscheinlich von mir nicht gut erklärt, sorry. Es soll einfach für 3 Sekunden lang nicht möglich sein, mit der Maus irgend einen Schalter zu betätigen. Und es soll sich dabei optisch nichts am Dialog-fenster verändern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439197</guid><dc:creator><![CDATA[Rudie]]></dc:creator><pubDate>Sun, 18 Jan 2004 15:54:25 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 18:17:59 GMT]]></title><description><![CDATA[<p>Mach doch einen Timer und nimm eine bool Variable.</p>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439318</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Sun, 18 Jan 2004 18:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Sun, 18 Jan 2004 19:09:19 GMT]]></title><description><![CDATA[<p>An Timer hab ich auch schon gedacht. Hab einen modalen Dialog hinzugefügt, der im Hintergrund abläuft, immer dann, wenn man auf eine Taste des virtuellen Klaviers klickt. Das funktioniert sogar ganz gut, den Dialog im Hintergrund sieht man nicht, und das Hauptfenster nimmt keine Mausnachrichten entgegen, da ja der Dialog im Hintergrund den Fokus hat. Eigentlich genial einfach, ABER: bei jedem Klick auf das (nicht aktive) Hauptfenster wird ein akustisches Signal ausgegeben (so ein bing), der leider stört, weil ja das Programm von der akustischen Ausgabe lebt. Wenn man die System-Signale ausstellen oder unterdrücken könnte...</p>
<p>Trotzdem vielen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439368</guid><dc:creator><![CDATA[Rudie]]></dc:creator><pubDate>Sun, 18 Jan 2004 19:09:19 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Mon, 19 Jan 2004 11:34:35 GMT]]></title><description><![CDATA[<p>Achwas, denk doch nicht so kompliziert <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="😃"
    /><br />
Du erstellst eine bool Variable [z.B. bStopActions], die du am Anfang auf false setzt. Du überprüfst einfach in jeder Funktion, ob die Variable auf false gesetzt ist. Ist sie auf false gesetzt, wird die Funktion normal fortgesetzt. Ist sie dagegen auf true, wird die Funktion beendet (z.B. eine Funktion, die aufgerufen wird, wenn man auf einen Button klickt).<br />
Wenn du die Variable auf true setzst, ersell einen Timer, die sie nach 3 Sekunden wieder auf false setzt.<br />
z.B. so (in der Art):</p>
<pre><code class="language-cpp">#define TIMER_DEACTIVATE_DIALOG 1
</code></pre>
<pre><code class="language-cpp">bool CDeinDialog::DeaktivateDialogForSeconds(int nSekunden)
{
  if(nSekunden &lt;= 0) return false;
  // Statusvariable auf true setzten
  m_bStopActions = true;
  // Timer setzten
  SetTimer(TIMER_DEACTIVATE_DIALOG, nSekunden * 1000, NULL);
}
</code></pre>
<p>Nachrichten-Handler für WM_TIMER einfügen:</p>
<pre><code class="language-cpp">void CDeinDialog::OnTimer(int nTimerID)
{
  if(nTimerID == TIMER_DEACTIVATE_DIALOG)
  {
     m_bStopActions = false;
  }
  else CDialog::OnTimer(nTimerID);
}
</code></pre>
<p>Wenn der User jetzt z.B. auf den Button mit der ID IDC_ABSPIELEN klickt, machst du es so, wie ich es gesagt habe:</p>
<pre><code class="language-cpp">void CDeinDialog::OnAbspielen()
{
  if(m_bStopActions == true) return;
  // hier dein Code zum Was-Weis-Ich-Abspielen
}
</code></pre>
<p>Grüße Rapha</p>
]]></description><link>https://www.c-plusplus.net/forum/post/439693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/439693</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Mon, 19 Jan 2004 11:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to deaktivieren eines ganzen Dialogs on Wed, 21 Jan 2004 19:27:46 GMT]]></title><description><![CDATA[<p>Oh cool, danke Ralph, das klingt sehr gut. Manchmal denkt man wirklich zu kompliziert. Ich kann's heute leider nicht mehr probieren, wird morgen gleich getestet. Ich danke Dir sehr, Erfolgsnachricht kommt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/441433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/441433</guid><dc:creator><![CDATA[Rudie]]></dc:creator><pubDate>Wed, 21 Jan 2004 19:27:46 GMT</pubDate></item></channel></rss>