Listbox mit nichtmodalen Dialogfeld



  • Hallo,

    ich versuche gerade eine ComboBox, die sich auf einem Nichtmodalen Dialogfeld befindet, mit der View Klasse zu verbinden nur funktioniert der OnEditchangeMeasure () nicht wirklich

    Hab das ausgetestet indem ich einfach mit ner MessageBox probiert hab ob sich da was ändert aber da rührt sich nicht.

    Ich müsste die eingestellte Variable des Nichtmodalen DIalogfelds mit der View OnDraw verbinden.

    Grundsätzlich müsste ich nur die m_sMeasure Variable der Combobox übergeben aber da ja nicht wirklich was gedrückt wird ist mir jetzt nicht klar wie ich das ohne Button der View mitteile.

    Hier ist ein Screenshot...
    Es handelt sich im obersten DIalogfeld um die Combo Box mit der Membervariable m_sMeasure die eben die Anzeige des Diagrammes (in der View erzeugt) ändern soll (Temperatur, Luftfeuchtigkeit, Lichtstärke)
    http://www.inrion.com/screen1.gif

    danke
    mfg Harry



  • Schick dem View eine Nachricht. 🙂
    Und den Wert kannst du der Nachricht auch gleich mitgeben.
    Oder du rufst eine Funktion im View direkt auf, das sollte auch klappen.

    Direkt verbinden klappt nicht, aber indirekt. 😉



  • Hallo,

    naja wie soll ich der View eine Message übermitteln wenn sich beim ändern der Combo Box nichts rührt? (deswegen wollte ich das ja mal mit der MessageBox austesten)

    pView->SendMessage((WPARAM)ON_MYMESSAGE,(LPARAM)m_sMeasure)

    1. kann ich so keinen String übermitteln
    2. ruft er mir da gar nichts auf wenn ich die ComboBox ändere



  • Hallo, folgendes Problem wenn ich über die MainFrame Klasse auf die Variable zugreifen möchte:

    CMainFrame* pMainFrame=(CMainFrame*)GetParentFrame();
        //Zeiger auf Hauptfenster
    	CDialogGeneral* pDlg=(CDialogGeneral*)pMainFrame->GetDescendantWindow(IDD_GENERAL);
        //Zeiger auf meinen Dialog holen
    
    	m_sMeasure = pDlg->m_sMeasure;
    

    beim auskommentieren der letzten Zeile lässt isch das Programm starten!

    das liegt aber wohl daran das im Vorhinein etwas nicht richtig funktioniert.

    im Debugger angeschaut kommen folgende Fehlermeldungen:

    m_sMeasure CXX0030 Fehler: Ausdruck kann nicht ausgewertet werden
    pDlg hat den Wert 0x00000000 und ist rot gekennzeichnet.

    Bereits beim Pointer auf die MainFrame Klasse in Zeile 1 steht die Adresse 0xcccccccc drinnen mit Fehlermeldung für h_wndStatus und h_wndToolbar

    hoffe ihr könnt mir da etwas auf die Sprünge helfen

    mfg Harry


Anmelden zum Antworten