Check Box abfragen aber auf anderem Dialog



  • Hallo zusammen,

    habe folgendes Problem,

    möchte eine Checkbox von einem TabControl aus abfragen, die sich auf meinem Hauptdialog befindet.

    Hier meine Lösungsansätze mit denen ich bisher keinen Erfolg hatte

    if(1 == ((CButton*) GetDlgItem(IDC_CHECK1))->GetCheck())
    

    Fehler:
    error C2660: 'GetDlgItem': Funktion akzeptiert keine 1 Argumente
    error C2227: Links von "->GetCheck" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen

    bzw.

    if(1 == CMy3DCamEvalDlg::m_showHairCross.GetCheck())
    

    Fehler:

    error C2228: Links von ".GetCheck" muss sich eine Klasse/Struktur/Union befinden.

    Leider komme ich da nicht weiter, vielleicht hat jemand einen Rat wie man Dialog übergreifend auf solche Steuerelemente zugreifen kann.

    Vielen Dank im Vorraus


  • Mod

    1. Code wurde nicht im Kontext des entsprechenden Dialoges.
    2. Code kann nicht gehen, da Du keine Instanz angibst, also kein existierendes Objekt.

    Warum willst Du das überhaupt? Was bezweckst Du damit?
    Bau doch eine entsprechende Funktion, die diesen Status returniert, Du benötigst aber in jedem Fall das Objekt als Referenz oder Zeiger in dem sich der Button befindet.



  • ich starte auf dem tab über einen button eine Ausgabe einens Kamerabildes in einem extra fenster, mit der Checkbox die sich auf dem Dialog befindet auf dem sich auch das TabCtrl befindet, soll man nun dieses Fadenkreuz ein und ausschalten können.

    das mit dem Objekt hab ich so weit verstanden, brauch ich dann nur die Headerdatei, in der das Objekt von der Klasse abgeleitet wird mit in die Datei einzubinden, in der die Abfrage geschehen soll um dann auf das Objekt zuzugreifen?

    Das hab ich auch schon versucht...



  • nebenbei umgekehrt von dem Hauptdialog aus, zb. auf eine listbox zugreifen ist kein Problem, mach ich natürlich über das Objekt... aber umgekehrt eben nicht,

    gibts da nicht so was die getParent() funktion die mir weiterhelfen kann?

    Oder über die ID?


  • Mod

    Direkt auf UI Eleement in anderen Objekten zuzugreifen ist absolut mieser Stil.

    Bau eine entsprechende Funktion, die macht was Du möchtest und ruf diese auf...



  • Gib dem "extra Fenster" doch im Konstruktor eine Referenz auf Deinen Dialog mit dem TabControl mit und bau dort einen Getter ein, der Dir den Inhalt der Checkbox zurückliefert.


Anmelden zum Antworten