Dialog - (Standard-)Buttons deaktivieren (aka: Dialog - Wizard Button)
-
Habe einen Wizard erstellt und möchte den Button "Weiter" zunächst deaktivieren bis der User im ertsen Dialog etwas ausgefüllt hat. Ich habe den Wizard dadurch erzeugt, dass ich dem Projekt Eigenschaftsfenster hizugefügt habe. Wo finde ich nun die Button "Weiter", "Zurück" und "Hilfe" in meinem Quelltext?
-
resource.h !?
-
Da steht folgendes:
#define IDM_ABOUTBOX 0x0010 #define IDD_ABOUTBOX 100 #define IDS_ABOUTBOX 101 #define IDS_PROPSHT_CAPTION 103 #define IDD_PROPPAGE1 104 #define IDD_PROPPAGE2 105 #define IDD_PROPPAGE3 106 #define IDD_PROPPAGE4 107 #define IDR_MAINFRAME 128 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 129 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1024 #define _APS_NEXT_SYMED_VALUE 108 #endif #endif
Was genau muss ich nun schreiben wenn ich z.B. den "Weiter"-Button deaktivieren will?
-
GetDlgItem(IDC_DEINBUTTON)->EnableWindow(FALSE);
alternativ
((CButton*)GetDlgItem(IDC_DEINBUTTON))->EnableWindow(FALSE);
-
Die Ids sind in den MFC Headern definier:
#define ID_APPLY_NOW 0x3021 #define ID_WIZBACK 0x3023 #define ID_WIZNEXT 0x3024 #define ID_WIZFINISH 0x3025 #define AFX_IDC_TAB_CONTROL 0x3020
Aus der Page bekommst Du mit GetParent das Sheet. Also müsste es heißen:
GetParent()->GetDlgCtrl(ID_WIZNEXT)->EnableWindow(FALSE);
-
So hat es geklappt:
GetParent()->GetDlgItem(ID_WIZNEXT)->EnableWindow(FALSE);
Vielen Dank
Ist so etwas in der FAQ drin
-
Gleich ja.