<?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[Funktion OnOK();]]></title><description><![CDATA[<p>Hallo!</p>
<p>Hätte wieder einmal eine wahrscheinlich sehr leichte frage aber ich komme nicht drauf!<br />
Und zwar wenn ich in meinem Dialogfeld beim Button Ok die Funktion OnOK(); zum schliessen verwende, schliesst sich das Dialogfeld auch wenn ich nur Enter drücke und das möchte ich eigentlich nicht! Gibt es da eine andere besser geeignete Funtkion oder was muss ich machen das es sich nur schließt wenn ich auf OK Klicke?</p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/74713/funktion-onok</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 03:19:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/74713.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 May 2004 07:28:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 07:28:02 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Hätte wieder einmal eine wahrscheinlich sehr leichte frage aber ich komme nicht drauf!<br />
Und zwar wenn ich in meinem Dialogfeld beim Button Ok die Funktion OnOK(); zum schliessen verwende, schliesst sich das Dialogfeld auch wenn ich nur Enter drücke und das möchte ich eigentlich nicht! Gibt es da eine andere besser geeignete Funtkion oder was muss ich machen das es sich nur schließt wenn ich auf OK Klicke?</p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526066</guid><dc:creator><![CDATA[Ronny0815]]></dc:creator><pubDate>Mon, 24 May 2004 07:28:02 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 07:34:22 GMT]]></title><description><![CDATA[<p>Da gibts doch auch was aus der <a href="http://www.c-plusplus.net/forum/viewforum.php?f=18&amp;topicdays=0&amp;start=30" rel="nofollow">FAQ</a>?<br />
<a href="http://www.c-plusplus.net/forum/viewforum.php?f=18&amp;topicdays=0&amp;start=30" rel="nofollow">FAQ</a>! Gute Ratschläge!<br />
Hilfreiche Artikel!</p>
<p>-junix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526069</guid><dc:creator><![CDATA[junix]]></dc:creator><pubDate>Mon, 24 May 2004 07:34:22 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 09:23:20 GMT]]></title><description><![CDATA[<p>Stimmt bin dahinter gekommen danke, und sorry werde in zukunft vorher genauer in der FAQ nachsehen!<br />
Aber jetzt habe ich ein neues problem da hab ich nun wirklich nichts in der FAQ gefunden....</p>
<p>Und zwar wenn ich ein int Eingabefeld erstelle und dem einen Minimal und einen Maximal Wert gebe erzeugt er automatisch eine Warnmeldung das der Wert zu hoch oder eben zu niedrig ist...<br />
Dazu habe ich folgende Fragen:</p>
<p>1. Kann ich den Text der Meldung verändern?<br />
2. Wenn man die aktuelle zahl raus löscht und eine neue eintragen möchte kommt immer die Fehlermeldung das er eine ganze Zahl benötigt, das nervt extrem kann mann das ausschalten?<br />
3. Kann man generell eingeifen was er tun soll wenn der wert höher, niedriger ist oder keiner enthalten ist?</p>
<p>Wobei Punkt 2 der wichtigste wäre! Beim Punkt 3 habe ich eine sehr unelegante lösung gefunden aber naja....</p>
<p>ich hoffe ihr könnt mir helfen!</p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526137</guid><dc:creator><![CDATA[Ronny0815]]></dc:creator><pubDate>Mon, 24 May 2004 09:23:20 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 10:00:37 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du kannst das Ereignis OnChange abfragen.<br />
wenn deine Variable int m_intZahl ist:</p>
<pre><code class="language-cpp">if (m_intZahl&gt;5000)
{
MessageBox(&quot;Zahl zu groß&quot;);
m_intZahl=0;
}
if (m_intZahl&lt;0)
{
MessageBox(&quot;Zahl zu klein&quot;);
m_intZahl=0;
}
</code></pre>
<p>Das kannst de auch abfragen wenn der Button zum beenden des Dialogs benutzt wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526161</guid><dc:creator><![CDATA[kreen]]></dc:creator><pubDate>Mon, 24 May 2004 10:00:37 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 10:27:52 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Danke für deine Antwort aber eine Frage das OnChange ist ja die Memberfunktion von dem Eingabefeld richtig? Habe kein OnChange im Klassenassistent gefunden....<br />
Ich glaube ich habe die situation schlecht gschildert es geht darum das ich im Klassenassistent der Membervariable vom Typ int einen minimal und einen maximal wert gegeben habe. Nun bekomme ich automatisch die Warnmeldung wenn der wert über oder unterschritten wird was ja ganz richtig ist. Aber ich würde gerne den Text davon ändern und evtl noch das was außer der MessageBox passiert. Kann aber nirgends finden wo diese routine abläuft.... außerdem kommt jedesmal wenn man die akutelle zahl raus löscht und eine neue eingeben will die meldung das man eine ganze zahl eingeben muss (anscheinend ebenfalls vom klassenassistenten gemacht) und diese meldung möchte ich ganz weg haben....</p>
<p>ich hoffe ich habe die situation jetzt verständlicher geschildert...</p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526179</guid><dc:creator><![CDATA[Ronny0815]]></dc:creator><pubDate>Mon, 24 May 2004 10:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 10:41:55 GMT]]></title><description><![CDATA[<p>vorher ist mir das internet abgestürtzt, sicherheitshalber nochmal:</p>
<p>Hallo!</p>
<p>Danke für deine Antwort aber eine Frage das OnChange ist ja die Memberfunktion von dem Eingabefeld richtig? Habe kein OnChange im Klassenassistent gefunden....<br />
Ich glaube ich habe die situation schlecht gschildert es geht darum das ich im Klassenassistent der Membervariable vom Typ int einen minimal und einen maximal wert gegeben habe. Nun bekomme ich automatisch die Warnmeldung wenn der wert über oder unterschritten wird was ja ganz richtig ist. Aber ich würde gerne den Text davon ändern und evtl noch das was außer der MessageBox passiert. Kann aber nirgends finden wo diese routine abläuft.... außerdem kommt jedesmal wenn man die akutelle zahl raus löscht und eine neue eingeben will die meldung das man eine ganze zahl eingeben muss (anscheinend ebenfalls vom klassenassistenten gemacht) und diese meldung möchte ich ganz weg haben....</p>
<p>ich hoffe ich habe die situation jetzt verständlicher geschildert...</p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526183</guid><dc:creator><![CDATA[Ronny0815]]></dc:creator><pubDate>Mon, 24 May 2004 10:41:55 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 11:36:09 GMT]]></title><description><![CDATA[<p>Schmeiße die Standardwertbegrenzung zum Teufel, wo sie auch bestens aufgehoben ist.</p>
<p>Leite einfach eine Klasse aus CEdit ab und fange darin WM_KEYDOWN ab. Mache auf den aktuellen Inhalt des Editfeldes eine Prüfung und sorge für eine eigene Messagebox mit von Dir frei gewählten Hinweistext.</p>
<p>Gruß Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526212</guid><dc:creator><![CDATA[PCi]]></dc:creator><pubDate>Mon, 24 May 2004 11:36:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 11:55:01 GMT]]></title><description><![CDATA[<p>Ich fürchte da konnte ich dir jetzt nicht ganz folgen.. ich habe folgendes gemacht:</p>
<p>1. Variable samt minimal und maximal wert gelöscht und eine neue erzeugt (ohne min und max...)<br />
2. Klasse vom Typ CEdit erzeugt<br />
3. Darin eine Behandlungsroutine für WM_KEYDOWN aufgerufen.<br />
4. In der Routine habe ich ein Objekt vom Typ meine Dlg Klasse erzeugt und den Wert aus dem Eingabefeld auf seinen Wert überprüft.</p>
<p>Folgende Fehler sind aufgetreten:<br />
1. Die Routine dürfte nicht funktionieren da nichts kommt wenn der wert zu groß oder zu klein ist....<br />
2. und was noch wichtiger ist sobald man die zahl aus dem feld löscht kommt die meldung das eine ganze zahl eingegeben werden muss (die hat anscheinend nichts mit dem min. und max. wert zu tun!</p>
<p><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="😕"
    /></p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526220</guid><dc:creator><![CDATA[Ronny0815]]></dc:creator><pubDate>Mon, 24 May 2004 11:55:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 12:09:43 GMT]]></title><description><![CDATA[<p>Nun kann es sein, daß ich Dich nicht richtig verstanden habe. Aber schauen wir uns die Sache mal an, was Du überhaupt machen willst. Wenn ich richtig verstanden habe, brauchst Du ein resistentes Editfeld, wo (wünschenswerterweise) nur Ziffern (incl. Komma oder auch nicht) eingegeben werden kann. Wird ein gewisser Wert über- oder unterschritten, möchtest Du eine selbst gestaltete Messagebox kommen lassen. Hab ich das mal richtig verstanden?</p>
<p>Gesetz dem Falle, ich war so ein Fux und habs kapiert, dann würde ich folgendes machen.</p>
<p>1. Klasse mit Basisklasse CEdit anfertigen<br />
2. Member, der den Wert darstellt umgotteswillen nicht int, sondern CString!!! Da nämlich in diesem Falle jedes Zeichen akzeptiert wird, gibts auch keine lästigen Messageboxen.<br />
3. Nach jeder Tastatureingabe, nicht das Eingebene Zeichen prüfen, sondern den neu enstanden Gesamtstring auf plausibilität prüfen (z. B. 2222x --&gt; ups, das ist ja keine Zahl --&gt; und tschüs, oder 65536 --&gt; sakkrament, das ist mir um eins zu hoch --&gt; und tschüs (da nimmst einfach die Funktion aus der Standardbibliothek atoi ggf. atof)<br />
4. Die well-designed Messagebox wird den User nach einer Falscheingabe so erfreuen, daß er sich über die Einschränkung gar nicht mehr ärgert.</p>
<p>Gruß Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526233</guid><dc:creator><![CDATA[PCi]]></dc:creator><pubDate>Mon, 24 May 2004 12:09:43 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 12:16:29 GMT]]></title><description><![CDATA[<p>PCi schrieb:</p>
<blockquote>
<p>Leite einfach eine Klasse aus CEdit ab und fange darin WM_KEYDOWN ab. Mache auf den aktuellen Inhalt des Editfeldes eine Prüfung und sorge für eine eigene Messagebox mit von Dir frei gewählten Hinweistext.</p>
</blockquote>
<p>Mach' das bloß nicht! Messageboxes die kommen, während man tippt sind super lästig. Entweder während des Tippens prüfen, und eine Fehlermeldung als Static-Text anzeigen (z.B. unter dem Editfeld) oder erst nach Klick auf [OK] prüfen und dann eine Meldung anzeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526235</guid><dc:creator><![CDATA[Uwe Philipps]]></dc:creator><pubDate>Mon, 24 May 2004 12:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Mon, 24 May 2004 12:18:15 GMT]]></title><description><![CDATA[<p>Also ich würd gleich von vornherein verhindern das man Buchstaben eingeben kann (wenn das nicht nötig ist).</p>
<p>von CEdit ableiten:</p>
<p>OnKeyDown:<br />
wenn Taste != 0-9 nix machen<br />
wenn der gesamtstring &lt; oder &gt; also deine bestimmte Zahl: Fehler ausgeben.</p>
<p>Und dann halt einfach das CEdit vom Typ deiner neuen Klasse machen.</p>
<p>feddich.. man kann nur ganze zahlen eingeben und hat eine Bereichsüberprüfung mit eigenen Fehlermeldungen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526237</guid><dc:creator><![CDATA[Tow-B.de]]></dc:creator><pubDate>Mon, 24 May 2004 12:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion OnOK(); on Tue, 25 May 2004 06:57:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>und vielen dank euch allen!</p>
<p>Ich habe eure Ratschläge befolgt und hätte es auch fast geschafft, nur soll auch umgelehrt das programm den wert eines sliders anzeigen wenn an dem manipuliert wird und da bekomme ich einen int zurück jetzt hat das wieder nicht funktioniert... jetzt habe ich einfach das eingabefeld deaktiviert und es geht halt nur über den slider....</p>
<p>lg, ronny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/526705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/526705</guid><dc:creator><![CDATA[Ronny0815]]></dc:creator><pubDate>Tue, 25 May 2004 06:57:21 GMT</pubDate></item></channel></rss>