Wo einfügen?
-
Hallo,
ich hab einen Codeabschnitt immer wieder und möchte den in eine Funktion packen, allerdings weiß ich nicht wo ich die Funktion platzieren muss, er gibt mir sonst immer den Fehler aus, das Die Funktion nicht einen Parameter erwartet.
void all_false() { GetDlgItem(IDC_TXTSUCHEN)->ShowWindow(FALSE); GetDlgItem(IDC_EINGSUCHEN)->ShowWindow(FALSE); GetDlgItem(IDC_TXTTITEL)->ShowWindow(FALSE); GetDlgItem(IDC_EINGTITEL)->ShowWindow(FALSE); GetDlgItem(IDC_TXTAUTOR)->ShowWindow(FALSE); GetDlgItem(IDC_EINGAUTOR)->ShowWindow(FALSE); GetDlgItem(IDC_TXTJAHR)->ShowWindow(FALSE); GetDlgItem(IDC_EINGJAHR)->ShowWindow(FALSE); GetDlgItem(IDC_TXTVERLAG)->ShowWindow(FALSE); GetDlgItem(IDC_EINGVERLAG)->ShowWindow(FALSE); GetDlgItem(IDC_BTNHINZU)->ShowWindow(FALSE); GetDlgItem(IDC_BTNSUCHENSTART)->ShowWindow(FALSE); GetDlgItem(IDC_TXTSUCHENIN)->ShowWindow(FALSE); GetDlgItem(IDC_CHKTITEL)->ShowWindow(FALSE); GetDlgItem(IDC_CHKAUTOR)->ShowWindow(FALSE); GetDlgItem(IDC_CHKJAHR)->ShowWindow(FALSE); GetDlgItem(IDC_CHKVERLAG)->ShowWindow(FALSE); GetDlgItem(IDC_TXTKATEGORIE)->ShowWindow(FALSE); GetDlgItem(IDC_EINGKATEGORIE)->ShowWindow(FALSE); GetDlgItem(IDC_TXTISBN)->ShowWindow(FALSE); GetDlgItem(IDC_EINGISBN)->ShowWindow(FALSE); GetDlgItem(IDC_TXTKAUFPREIS)->ShowWindow(FALSE); GetDlgItem(IDC_EINGKAUFPREIS)->ShowWindow(FALSE); GetDlgItem(IDC_TXTENTLEIHER)->ShowWindow(FALSE); GetDlgItem(IDC_EINGENTLEIHER)->ShowWindow(FALSE); GetDlgItem(IDC_TXTENTLEIH_DATUM)->ShowWindow(FALSE); GetDlgItem(IDC_EINGENTLEIH_DATUM)->ShowWindow(FALSE); GetDlgItem(IDC_TXTBESCHREIBUNG)->ShowWindow(FALSE); GetDlgItem(IDC_EINGBESCHREIBUNG)->ShowWindow(FALSE); };Diese Funtkion möchte cih gerne unter Visual C++ 6.0 mit MFC einbauen.
Kan mir jemand helfen?
-
void ShowControl(int nShowCmd, int nControlID) { try { GetDlgItem(nControlID)->ShowWindow(nShowCmd); } catch(...) { } }nochwas: ShowWindow sollte man nicht mit TRUE oder FALSE sondern mit SW_SHOW, SW_HIDE, usw siehe MSDN aufrufen !!
-
Irgendwie verstehe ich das nicht so richtig was du da gemacht hast.
Ich wollte doch meine Funktion einbauen und nicht verallgemeinern wie du das gemacht hast( sehe ich das richtig?).
Ausserdem versteh cih das eh cniht 100%. Und wieso soltle man Hide und Show nehmen? Gibt es dafür eine Begründung?
-
Servus,
du kannst auch das hier verwenden:
http://www.c-plusplus.net/forum/viewtopic.php?t=56428
anstatt:
if(strClassName == "Edit") { CEdit* pEdit = static_cast<CEdit*>(pcWnd); pEdit->SetReadOnly(TRUE); return TRUE; } pcWnd->EnableWindow(FALSE);benutzt du nur:
pcWnd->ShowWindow(SW_HIDE)den Rest hälts du bei. Ich weiss aber nicht ob das ein bisschen kompliziert für dich ist. Wenn du fragen hast dazu frag einfach....
SW_HIDE = 0;
SW_SHOW = 5;TRUE = 1;
FALSE = 0;merkst du denn Unterschied zwischen SW_SHOW und TRUE ??? Deshalb sollte man diese Werte nehmen.
*winke*
Hellsgore