GetDlgItem
-
Wie schon im Titel zu erkennen geht es hier um GetDlgItem, da erhalte ich diese Fehlermeldung bekomme:
keyprogdlg.cpp(217) : error C2660: 'GetDlgItem' : function does not take 1 arguments
Sprich es wird ein zweiter Parameter erwartet. Bei meinem Programm handelt es sich um folgendes Szenario -> Ich habe drei EditControl Felder in denen man einen Key eingeben soll, das funktioniert soweit auch alles. Aber ich hänge eben gerade noch an dem DlgItem fest und habe auch schon probiert die CWnd bzw. HWND Sachen mit reinzukriegen, jedoch funktionierte dass bisher noch nicht.
Hier mal ein Auszug des Quellcodes:
void OnEnChangeKeyX(CString const& field, int IDC_KEY) { BOOL UpdateData(BOOL bSaveAndValidate = TRUE); if(!UpdateData(TRUE)) { return; } int nLength; nLength = field.GetLength(); LPCTSTR lpsz = field; for(int nAnzahl=0; nAnzahl<nLength; nAnzahl++) { TCHAR cH; cH = lpsz[nAnzahl]; if((cH < 'A' || cH > 'Z') && (cH < '0' || cH > '9')) { AfxMessageBox(IDS_WEDIT); return; } } if(nLength == MAXCHARS) { CWnd* pField; pField = GetDlgItem(IDC_KEY2); if(pField) { pField->SetFocus(); } } }So und an der Stelle "pField = GetDlgItem(IDC_KEY2);" hänge ich jetzt. Ich weiss gerade nicht welchen Parameter ich da noch mit übergeben muss.
Falls es hilfreich ist, hier wäre dann noch eine der weiteren Funktionen die sich auf die bereits oben reinkopierte bezieht:
void CKeyProgDlg::OnEnChangeKey1() { OnEnChangeKeyX(m_sField1, IDC_KEY1); if(!UpdateData(TRUE)) { return; } }Ich hoffe jemand kann mir da weiterhelfen

-
Zumal wenn ich den Cursor drauf halte zeigt er mir ja folgendes an:
HWND GetDlgItem(HWND hDlg, int nIDDlgItem)
Nur wie gesagt mit der HWND hDlg Thematik hatte ich es ja schon ausprobiert, nur wollte das auch nicht klappen

-
Deine Funktion ist keine Member Funktion der Klasse!
-
Stimmt .___.
So Fehler ist behoben, vielen Dank für eure Posts!:)