<?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 Editfeldern]]></title><description><![CDATA[<p>Ich habe ein Programm mit 3 Edit feldern. Ich habe mit folgender Funktion ermöglicht das wenn das Editfelt voll ist das zum nächsten gewechselt würd.</p>
<pre><code class="language-cpp">void CHalfLifeSerialEditDlg::OnChangeEditKeyp1() 
{
    UpdateData();

    if(m_key1.GetLength() == 4)
    {
        GetDlgItem(IDC_EDIT_KEYP2)-&gt;SetFocus();
    }
}

void CHalfLifeSerialEditDlg::OnChangeEditKeyp2() 
{
    UpdateData();

    if(m_key2.GetLength() == 5)
    {
        GetDlgItem(IDC_EDIT_KEYP3)-&gt;SetFocus();
    }
}
</code></pre>
<p>Aber nu wollte ich erreichen das mann wenn man z.b in 2 edit felt ist und auf del geht das er buchstabe für buchstabe löscht (was ja nich das Prob ist) und wenn nichts mehr im Editfelt drin ist ganz zum ende von Editfelt 1 springt aber das bekomme ich nur bedingt hin:</p>
<pre><code class="language-cpp">void CHalfLifeSerialEditDlg::OnChangeEditKeyp1() 
{
    UpdateData();

    if(m_key1.GetLength() == 4)
    {
        GetDlgItem(IDC_EDIT_KEYP2)-&gt;SetFocus();
    }
}

void CHalfLifeSerialEditDlg::OnChangeEditKeyp2() 
{
    UpdateData();

    if(m_key2.GetLength() == 5)
    {
        GetDlgItem(IDC_EDIT_KEYP3)-&gt;SetFocus();
    }
    else if (m_key2.GetLength() == 0)
    {
        GetDlgItem(IDC_EDIT_KEYP1)-&gt;SetFocus();
    }
}

void CHalfLifeSerialEditDlg::OnChangeEditKeyp3() 
{
    UpdateData();

    if(m_key2.GetLength() == 5)
    {
        GetDlgItem(IDC_EDIT_KEYP3)-&gt;SetFocus();
    }
    else if (m_key2.GetLength() == 0)
    {
        GetDlgItem(IDC_EDIT_KEYP2)-&gt;SetFocus();
    }
}
</code></pre>
<p>Dadurch springt er ja wie gewünscht zurück aber leider an die erste stelle des Feldes und nichts zum Ende wie kann ich das änder?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6176/problem-mit-editfeldern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 23:24:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6176.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 15 Jun 2003 09:43:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Editfeldern on Sun, 15 Jun 2003 09:43:00 GMT]]></title><description><![CDATA[<p>Ich habe ein Programm mit 3 Edit feldern. Ich habe mit folgender Funktion ermöglicht das wenn das Editfelt voll ist das zum nächsten gewechselt würd.</p>
<pre><code class="language-cpp">void CHalfLifeSerialEditDlg::OnChangeEditKeyp1() 
{
    UpdateData();

    if(m_key1.GetLength() == 4)
    {
        GetDlgItem(IDC_EDIT_KEYP2)-&gt;SetFocus();
    }
}

void CHalfLifeSerialEditDlg::OnChangeEditKeyp2() 
{
    UpdateData();

    if(m_key2.GetLength() == 5)
    {
        GetDlgItem(IDC_EDIT_KEYP3)-&gt;SetFocus();
    }
}
</code></pre>
<p>Aber nu wollte ich erreichen das mann wenn man z.b in 2 edit felt ist und auf del geht das er buchstabe für buchstabe löscht (was ja nich das Prob ist) und wenn nichts mehr im Editfelt drin ist ganz zum ende von Editfelt 1 springt aber das bekomme ich nur bedingt hin:</p>
<pre><code class="language-cpp">void CHalfLifeSerialEditDlg::OnChangeEditKeyp1() 
{
    UpdateData();

    if(m_key1.GetLength() == 4)
    {
        GetDlgItem(IDC_EDIT_KEYP2)-&gt;SetFocus();
    }
}

void CHalfLifeSerialEditDlg::OnChangeEditKeyp2() 
{
    UpdateData();

    if(m_key2.GetLength() == 5)
    {
        GetDlgItem(IDC_EDIT_KEYP3)-&gt;SetFocus();
    }
    else if (m_key2.GetLength() == 0)
    {
        GetDlgItem(IDC_EDIT_KEYP1)-&gt;SetFocus();
    }
}

void CHalfLifeSerialEditDlg::OnChangeEditKeyp3() 
{
    UpdateData();

    if(m_key2.GetLength() == 5)
    {
        GetDlgItem(IDC_EDIT_KEYP3)-&gt;SetFocus();
    }
    else if (m_key2.GetLength() == 0)
    {
        GetDlgItem(IDC_EDIT_KEYP2)-&gt;SetFocus();
    }
}
</code></pre>
<p>Dadurch springt er ja wie gewünscht zurück aber leider an die erste stelle des Feldes und nichts zum Ende wie kann ich das änder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29930</guid><dc:creator><![CDATA[Dieter]]></dc:creator><pubDate>Sun, 15 Jun 2003 09:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Editfeldern on Sun, 15 Jun 2003 10:09:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">else if (m_key3.GetLength() == 0)
{
        CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT_KEYP2);
        pEdit-&gt;SetFocus();
        pEdit-&gt;SetSel(pEdit-&gt;GetWindowTextLength(),pEdit-&gt;GetWindowTextLength());
}
</code></pre>
<p>[ Dieser Beitrag wurde am 15.06.2003 um 12:10 Uhr von <strong>dEUs</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29931</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Sun, 15 Jun 2003 10:09:00 GMT</pubDate></item></channel></rss>