Button Zugriff
-
Hallo
Ich will auf einen Button zugreifen, was er mir aber nicht macht.
Das Problem ist, dass der Button in einem anderem Dialog ist.MessageAufruf::GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
Das macht er nicht.
Sagt er mir : Unzulässiger Aufruf einer nicht statischen Member Funktion
-
Kennst du den Unterscheid zwischen Klasse und Instanz?
Du brauchst einen Zeiger oder eine Refernz auf die Instanz der Dialogklasse, auf die du zugreifen willst.
-
Ja, sowas hab ich schon probiert.
Also ich hab in der MSDN nachgeschaut und das mal genau so in die Header getippt: unter Public natürlich
CEdit* pBoxOne; pBoxOne = (CEdit*) GetDlgItem(IDC_BUTTON1);
da aber zeigt er mir auch fehler und zwar:
'CErstellen::CDialog::CWnd::GetDlgItem' : Element der einschliessenden Klasse ist kein Typname, nicht statisch und keine Aufzählung
'GetDlgItem' : Funktion akzeptiert keine 1 Parameter
Ungueltige Syntax für rein virtuelle Methode; '= 0' erforderlich
'pBoxOne' : Fehlende Speicherklasse oder Typspezifizierer
'CErstellen::CDialog::CWnd::GetDlgItem' : Element der einschliessenden Klasse ist kein Typname, nicht statisch und keine Aufzählung
'GetDlgItem' : Funktion akzeptiert keine 1 Parameter
Ungültuge Syntax für rein virtuelle Methode; '= 0' erforderlich
'pBoxOne' : Fehlende Speicherklasse oder Typspezifizierer
-
MSS-Software schrieb:
Also ich hab in der MSDN nachgeschaut und das mal genau so in die Header getippt: unter Public natürlich
Du kannst "natürlich" nicht einfach Code in eine Klassendeklaration schreiben.
Ich weiß auch nicht, was das bringen soll.
Irgendwo erstellt du ja eine Instanz der Dialogklasse, auf deren Button du zugreifen willst. Du musst nun einen Zeiger oder eine Referenz auf diese Instanz an die Stelle bringen, wo du zugreifen willst.
-
Hmmmm
hab grad echt keine ahnung, was du meinstsorry
-
MSS-Software schrieb:
hab grad echt keine ahnung, was du meinst
Dann solltest du - und versteh das bitte als gutgemeinten Rat - dich IMHO mit den Grundlagen von C++ beschäftigen und solange die Finger von GUI-Programmierung lassen.