<?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[Button aktivieren nach str_Eintrag]]></title><description><![CDATA[<p>ich möchte wenn ich in einem eingabefeld m_str_SN1 eine 11 eingegeben habe, das der button IDOK aktiv wird. vorher soll er deaktiviert sein. was mach ich falsch ?</p>
<pre><code>BOOL CRegistrierungDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// TODO: Zusätzliche Initialisierung hier einfügen

	SetWindowText(&quot; Registrierung&quot;);
	SetIcon(m_hIcon, true);

	UpdateData(false);

	UpdateData(true);

	if (m_str_SN1 == &quot;11&quot;)
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(true);

	}
	else
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(false);

	}

	UpdateData(false);

	return TRUE;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/77124/button-aktivieren-nach-str_eintrag</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 21:01:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77124.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Jun 2004 17:53:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Thu, 17 Jun 2004 17:53:02 GMT]]></title><description><![CDATA[<p>ich möchte wenn ich in einem eingabefeld m_str_SN1 eine 11 eingegeben habe, das der button IDOK aktiv wird. vorher soll er deaktiviert sein. was mach ich falsch ?</p>
<pre><code>BOOL CRegistrierungDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// TODO: Zusätzliche Initialisierung hier einfügen

	SetWindowText(&quot; Registrierung&quot;);
	SetIcon(m_hIcon, true);

	UpdateData(false);

	UpdateData(true);

	if (m_str_SN1 == &quot;11&quot;)
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(true);

	}
	else
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(false);

	}

	UpdateData(false);

	return TRUE;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/542629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542629</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 17 Jun 2004 17:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Thu, 17 Jun 2004 18:18:55 GMT]]></title><description><![CDATA[<p>Lass das UpdateData(false) weg.<br />
Und evtl. lohnt es sich die Killfocus für das Editfeld zu überschreiben,<br />
und dort das ein/ausschalten des Buttons zu erledigen.</p>
<p>Devil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/542651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542651</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Thu, 17 Jun 2004 18:18:55 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Thu, 17 Jun 2004 18:21:35 GMT]]></title><description><![CDATA[<p>du, ganz langsam , bin erst seid 2 monaten am programmieren. bitte etwas genauer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/542654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542654</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 17 Jun 2004 18:21:35 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Thu, 17 Jun 2004 19:14:14 GMT]]></title><description><![CDATA[<p>also soweit hab ichs gelöst.</p>
<pre><code>void CRegistrierungDlg::OnChangeSn1() 
{
	// TODO: Wenn dies ein RICHEDIT-Steuerelement ist, sendet das Steuerelement diese

	// Benachrichtigung nicht, bevor Sie nicht die Funktion CDialog::OnInitDialog()

	// überschreiben und CRichEditCrtl().SetEventMask() aufrufen, wobei

	// eine ODER-Operation mit dem Attribut ENM_CHANGE und der Maske erfolgt.

	// TODO: Fügen Sie hier Ihren Code für die Benachrichtigungsbehandlungsroutine des Steuerelements hinzu

	UpdateData(true);

	if (m_str_SN1 ==&quot;11&quot;)
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(true);
	}

	else
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(false);

	}

	UpdateData(false);
}
</code></pre>
<p>nun hab ich nurnoch den fehler das wenn nichts im eingabefeld steht beim ersten aufruf ist der button trotzdem aktiv</p>
]]></description><link>https://www.c-plusplus.net/forum/post/542700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542700</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 17 Jun 2004 19:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Thu, 17 Jun 2004 19:32:33 GMT]]></title><description><![CDATA[<p>habs gelöst:</p>
<pre><code>BOOL CRegistrierungDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// TODO: Zusätzliche Initialisierung hier einfügen

	UpdateData(true);

	m_str_SN1 =&quot;&quot;;

	if (m_str_SN1 ==&quot;&quot;)
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(false);
	}

	SetWindowText(&quot; Registrierung&quot;);
	SetIcon(m_hIcon, true);

	UpdateData(false);

	return TRUE;
}

void CRegistrierungDlg::OnChangeSn1() 
{

	UpdateData(true);

	if (m_str_SN1 ==&quot;11&quot;)
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(true);
	}

	else
	{
	GetDlgItem(IDOK)-&gt;EnableWindow(false);

	}

	UpdateData(false);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/542717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542717</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 17 Jun 2004 19:32:33 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Fri, 18 Jun 2004 05:54:51 GMT]]></title><description><![CDATA[<p>Wie wärs mit:</p>
<pre><code class="language-cpp">BOOL CRegistrierungDlg::OnInitDialog() 
{
    CDialog::OnInitDialog();

    // TODO: Zusätzliche Initialisierung hier einfügen

    UpdateData(true);

    m_str_SN1 =&quot;&quot;;

    OnChangeSn1();

    SetWindowText(&quot; Registrierung&quot;);
    SetIcon(m_hIcon, true);

    UpdateData(false);

    return TRUE;
}
</code></pre>
<p>Warum machst du eigentlich UpdateData(TRUE)? Ich kann da keinen Sinn erkennen.</p>
<p>Und das m_str_SN1 = &quot;&quot;; wäre doch im Konstruktor besser aufgehoben.<br />
Außerdem werden CStrings von ihrem eigenen Konstruktor mit &quot;&quot; initialisiert. Du kannst das also sogar weglassen. <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>
<p>EDIT:<br />
Achja, du kannst die Beschriftung in der Titelzeile eines Dialoges auch im Resourcceeditor festlegen.<br />
Genauso kannst du dort festlegen ob ein Control zu Beginn aktiviert oder deaktiviert sein soll. (Statt SetWindowText und OnChangeSn1 in OnInitDialog.)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/542878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542878</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 18 Jun 2004 05:54:51 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Fri, 18 Jun 2004 08:10:30 GMT]]></title><description><![CDATA[<p>wenn ich das nicht einbaue</p>
<pre><code>UpdateData(true); 

    m_str_SN1 =&quot;&quot;; 

    if (m_str_SN1 ==&quot;&quot;) 
    { 
    GetDlgItem(IDOK)-&gt;EnableWindow(false); 
    }
</code></pre>
<p>ist der IDOK button beim 1. aufrufen des dialogs sichtbar</p>
<p>konstruktor ? hilf mir mal auf die sprünge, bin ja anfänger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/542936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542936</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 18 Jun 2004 08:10:30 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Fri, 18 Jun 2004 08:35:27 GMT]]></title><description><![CDATA[<p>Konstruktoren sind die Funktionen, die keinen Rückgabewert haben und genauso heißen wie die Klasse selbst. Sie werden aufgerufen sobald du eine Instanz dieser Klasse anlegst.</p>
<pre><code class="language-cpp">CRegistrierungDlg dlg;
</code></pre>
<p>Sämliche Variablen, die sich nicht über den eignenen Konstruktor selbst mit einem gültigen Wert initialisieren sollten dort einen Wert bekommen.</p>
<p>Guck mal in ein Buch zu OOP Grundlagen (C++ und nicht MFC), da drin wird das erklärt. <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>
<p>Was mich auch iritiert:</p>
<pre><code class="language-cpp">m_str_SN1 =&quot;&quot;; // Mach es leer

    if (m_str_SN1 ==&quot;&quot;) // ist es wirklich leer?
    { 
    GetDlgItem(IDOK)-&gt;EnableWindow(false); 
    }
</code></pre>
<p>Das ist doch (harmlos ausgedrückt) doppelt gemoppelt. lass die if weg.</p>
<pre><code class="language-cpp">m_str_SN1 =&quot;&quot;; 

    GetDlgItem(IDOK)-&gt;EnableWindow(false);
</code></pre>
<p>Das mit UpdateData finde ich komisch, aber wenn du es sagst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/542960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542960</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 18 Jun 2004 08:35:27 GMT</pubDate></item><item><title><![CDATA[Reply to Button aktivieren nach str_Eintrag on Fri, 18 Jun 2004 08:39:26 GMT]]></title><description><![CDATA[<p>aha, ok. vielen dank. werde es gleich mal ausprobieren. <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/542964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/542964</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 18 Jun 2004 08:39:26 GMT</pubDate></item></channel></rss>