<?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[double Wert in Eingabefelder &#x2F; Dialogfelder schreiben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte in einzelne Eingabefelder double-Werte schreiben. Kenne leider nur die Befehle SetDlgItemInt, SetDlgItemText und UpdateData. Die Suche habe ich schon bemüht, es werden aber keine brauchbaren Ergebnisse angezeigt. Muss ich die double-Werte erst in Strings konvertieren und dann eintragen? Das wäre sehr lästig, da es mehrere Felder sind und die meisten auch wieder ausgelesen werden müssen und wieder als double weiter verarbeitet werden.<br />
Danke für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164471/double-wert-in-eingabefelder-dialogfelder-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 25 Jun 2026 23:09:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164471.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Nov 2006 16:14:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Wed, 08 Nov 2006 16:14:19 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte in einzelne Eingabefelder double-Werte schreiben. Kenne leider nur die Befehle SetDlgItemInt, SetDlgItemText und UpdateData. Die Suche habe ich schon bemüht, es werden aber keine brauchbaren Ergebnisse angezeigt. Muss ich die double-Werte erst in Strings konvertieren und dann eintragen? Das wäre sehr lästig, da es mehrere Felder sind und die meisten auch wieder ausgelesen werden müssen und wieder als double weiter verarbeitet werden.<br />
Danke für eure Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171255</guid><dc:creator><![CDATA[Gelgenheitsprogrammierer]]></dc:creator><pubDate>Wed, 08 Nov 2006 16:14:19 GMT</pubDate></item><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Wed, 08 Nov 2006 16:39:54 GMT]]></title><description><![CDATA[<p>Wenn du UpdateData benutzt, dann ist das nicht nötig.<br />
Lege dir einfach eine Variable des entsprechenden Typs zu dem Editfeld an.<br />
Mit UpdateData(true) geht nun der Editfeld-Inhalt in die Variable, mit UpdateData(false) geht der Variableninhalt in das Editfeld.<br />
Anlegen tust die Variable im Ressourceneditor. Rechtsklick auf das Editfeld und dann Variable hinzufügen.<br />
Ansonsten kannst du auch beim CString mit Format Zahlen in Text umwandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171276</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Wed, 08 Nov 2006 16:39:54 GMT</pubDate></item><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Wed, 08 Nov 2006 16:40:10 GMT]]></title><description><![CDATA[<p>erstell im klassenassi membervariablen für die Eingabefelder.<br />
den typ der variable legst du mit double fest.</p>
<p>danach sollte es mit dem zuweisen einer kommazahl (2.01) klappen<br />
m_dEdit1 = 2.01;</p>
<p>mit SetDlgItemInt wirst du nie doublewerte angezeigt bekommen, da die MSDN folgendes dazu sagt.</p>
<pre><code>BOOL SetDlgItemInt(int nID,
    UINT uValue,// hier willst du double in unsigned int wandeln
    BOOL bSigned
);
</code></pre>
<p>und der double wert wirt dir verkürzt, alles was nach dem punkt kommt wird abgeschnitten. <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>LowFly</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171277</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Wed, 08 Nov 2006 16:40:10 GMT</pubDate></item><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Wed, 08 Nov 2006 16:57:01 GMT]]></title><description><![CDATA[<p>Mit UpdataData(FALSE) werden, aber doch alle Eingabefelder aktualisiert? Kann man nicht ein bestimmtes Feld ansprechen und es mit einem double-Wert füllen?</p>
<p>Wie kann man eigentlich die angezeigten Stellen des double-Wertes im Eingabefeld begrenzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171298</guid><dc:creator><![CDATA[Gelegenheitsprogrammierer]]></dc:creator><pubDate>Wed, 08 Nov 2006 16:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Wed, 08 Nov 2006 17:16:52 GMT]]></title><description><![CDATA[<p>mach es über SetDlgItemText,<br />
schreib dir ne extra funktion an die du die doublewerte übergibst und dir diese in einen String wandelt &amp; umgekehrt, diese kannst du via SetDlgItemText bzw GetDlgItemText anzeigen &amp; auslesen.</p>
<p>oder du must halt darauf achten das nur an das eine specielle Editfeld ein neuer wert übergeben wird.</p>
<p>ne andere idee wäre noch die Editfelder in ne double array zu fassen<br />
double m_dEdit[10];<br />
&amp; weist dann jedem Editfeld einen bestimmten platz in der Array zu<br />
DDX_Text(pDX, IDC_EDIT1, m_double[0]);<br />
...<br />
m_double[0] = 1.01;<br />
UpdateData(FALSE);</p>
<p>werden zwar alle adnere editfelder mit aktualisiert aber sie behalten den alten wert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171309</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Wed, 08 Nov 2006 17:16:52 GMT</pubDate></item><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Wed, 08 Nov 2006 18:03:59 GMT]]></title><description><![CDATA[<p>Gelegenheitsprogrammierer schrieb:</p>
<blockquote>
<p>Wie kann man eigentlich die angezeigten Stellen des double-Wertes im Eingabefeld begrenzen?</p>
</blockquote>
<p>also wenn du dem eingabefeld eine double-variable zuweist, wird das nicht zu begrenzen gehen.<br />
wenn du es als textfeld machst, kannst du damit</p>
<pre><code class="language-cpp">CString tmp;
double dVar = 1.234556;
tmp.Format(&quot;%.3f&quot;, dVar); // 3 nachkomma-stellen
</code></pre>
<p>formatieren. den wert dann nur noch zuweisen wie es LowFly gesagt hat (SetDlgItemText)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171335</guid><dc:creator><![CDATA[SfX]]></dc:creator><pubDate>Wed, 08 Nov 2006 18:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to double Wert in Eingabefelder &#x2F; Dialogfelder schreiben on Fri, 10 Nov 2006 07:02:28 GMT]]></title><description><![CDATA[<blockquote>
<p>Mit UpdataData(FALSE) werden, aber doch alle Eingabefelder aktualisiert? Kann man nicht ein bestimmtes Feld ansprechen und es mit einem double-Wert füllen?</p>
</blockquote>
<p>Mann kann!. Du kannst statt UpdateData(...) auch einen einzelnen Wert holen/ zurückschreiben:</p>
<pre><code class="language-cpp">double m_doublevariable	

	CDataExchange exchange(this,FALSE);//bzw. TRUE
	DDX_Text(&amp;exchange,IDC_EDITFELD,m_doublevariable);
</code></pre>
<blockquote>
<p>Wie kann man eigentlich die angezeigten Stellen des double-Wertes im Eingabefeld begrenzen?</p>
</blockquote>
<p>Begrenzung der Anzeige eines double kenne ich auch nur über den „Umweg“ mit CString.</p>
<p>Ich habe bisher höchstens mal:<br />
1. den Wertebereich begrenzt im DoDataExchange-Block:</p>
<pre><code class="language-cpp">DDV_MinMaxDouble(pDX, m_doublevariable, 10, 999999);
</code></pre>
<p>2. Anzahl aller Zeichen (inclusive Komma) begrenzt :</p>
<pre><code class="language-cpp">//im DoDataExchange:
DDX_Control(pDX, IDC_ EDITFELD, m_ editcontrol);
//im InitDialog
m_ editcontrol -&gt;LimitText(anzahl_zeichen);
</code></pre>
<p>Für den Rest hilft wohl nur Handarbeit z.B. im EnChange(...)</p>
<p>Tester2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1171912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1171912</guid><dc:creator><![CDATA[Tester2]]></dc:creator><pubDate>Fri, 10 Nov 2006 07:02:28 GMT</pubDate></item></channel></rss>