Kontrollkästchen auf nächster seite bearbeiten



  • oder Deaktivieren im eigentlichen sinne:

    m_MemberVariableChkBox.EnableWindow(0); //deaktiviert
    m_MemberVariableChkBox.EnableWindow(1); //aktiviert
    

    mfg
    Hellsgore



  • hallo,

    danke für die schnelle antwort. leider geht es nicht mit m_MemberVariableChkBox.EnableWindow(0); //deaktiviert es zeigt mir das fenster normal an und das kontrollkästchen hat sich nicht verändert.

    Ich möchte auf das zweite df mit verschiedenen buttons zugreifen, bei jedem button verändert sich aber das zweite df nur soweit das kontrollkästchen (nicht alle) deaktiviert sein soll, also noch da aber nicht anklickbar.



  • weiss wirklich keiner eine antwort??? 😕
    jetzt traurig bin 😞



  • gibt es da nicht vielleicht ein enable-wort ????
    meine so wie enablewindow()



  • UpdateData(true);
    

    ??

    Aber so ganz ist mir nicht klar was du eigentlich machen willst...



  • also ich habe mehrere Dialogfenster, auf jedem dieser fenster ist ein button mit dem ich immer das gleiche fenster aufmache. Da aber die angaben, die in dem zweiten fenster sind, nicht immer für alle vorgängerfenster gültig sind, möchte ich die überflüssigen Kontrollkästchen beim drücken auf den button deaktivieren, so das die nicht für die weiter bearbeitung beachtet werden.



  • CWnd * pCWnd;
    
    pCWnd = GetDlgItem(IDC_CHECKBOX1);
    pCWnd->EnableWindow(false);
    

    muß funktionieren.
    Über eine public function von dem aufrufenden dialog ausgeführt.

    void CMeinDlg::OnButtvalue1() 
    {
        CDerAndereDialog ValDialog;
        ValDialog.MachWas(1); // Button 1 wurde gedrückt
        ValDialog.DoModal();
    }
    
    void CDerAndereDialog::MachWas(int was)
    {
        CWnd * pCWnd;
        pCWnd = GetDlgItem(IDC_CHECKBOX1);
        pCWnd->EnableWindow(false);
    }
    

    Oder bist du über dieser Lösung schon hinaus??



  • Hallo,

    hab so eine ähnlich lösung schon mal gehabt

    CDerAndereDialog ValDialog; 
        ValDialog.MachWas(1); // Button 1 wurde gedrückt 
        ValDialog.DoModal();
    

    daher frage ich ja ob es ein ganz normales kleines "Zauberwort" hier gibt

    so was wie das :

    m_variauffenster2.m_kontrollkasten = EnableWindow();
    

    nur das bei diesem hier immer nur das der haken gelöscht wird.



  • m_variauffenster2.m_kontrollkasten = EnableWindow();
    

    ist eine zuweisung des eigenen Zustands ??

    m_variauffenster2.m_kontrollkasten = false;
    

    oder

    m_variauffenster2.m_kontrollkasten.EnableWindow(false);
    

    sieht mir richtiger aus :p



  • Hallo,

    also das :
    [cpp]
    m_variauffenster2.m_kontrollkasten.EnableWindow(false);
    [cpp]

    ist ja meinem sehr ähnlich und macht daher auch nix anderes wie meines, der haken wird einfach gelöscht

    bei dem:
    [cpp]
    m_variauffenster2.m_kontrollkasten.EnableWindow(false);

    [\cpp]
    gibt es einen fehler, welcher verständlich ist m_kontrollkasten bezieht sich auf keine klasse nur m_variauffenster2 bezieht sich auf eine klasse, da aber der linke teil neben EnableWindow sich auf eine klasse beziehen soll, kann da nix passieren.Aber trotzdem Danke.
    Und keiner weiss was dazu, wie man ein kontrollkasten deaktiviert???



  • Ich glaube wir drehen uns im Kreis 😉
    EnableWindow(bool) ist die richtige Funktion -> mach ich die ganze Zeit.

    Wenn m_kontrollkasten keine Member Variable ist, mußt du den Button direkt ansprechen (es geht doch um checkboxes?):

    CWnd * pCWnd; 
    
    pCWnd = GetDlgItem(IDC_CHECKBOX1); 
    pCWnd->EnableWindow(false);
    

Anmelden zum Antworten