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 meinst

    sorry



  • 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.


Anmelden zum Antworten