probleme mit skip()



  • Hallo

    Meine Anwendung hab ich mit wxVC und Visual Studio 2008 erstellt.
    MeinFrame Klasse:
    MeinPanel Klasse:
    MeinPanel - wxGrid
    Hab folgendes Problem.

    Wenn ich eine Zelle in der Tabelle anklickt,

    void MeinPanel::OnGridCellLeftClick(wxGridEvent& event)
    {
    	wxMessageBox( wxT("Es wurde eine Zelle angeklickt!") );
    
    	event.Skip(); 	
    }
    

    wird die wxMessageBox aufgerufen. Sobald ich auf den OK Button der wxMessageBox
    gehe(also Fenster schließen)springt das Programm wieder in die :OnGridCellLeftClick(wxGridEvent& event) Funktion und durchläuft sie noch einmal und die wxMessageBox wird somit noch einmal aufgerufen, das soll aber so nicht sein.

    Wenn ich aber event.Skip(); aus der oben genannten Funktion auf false setze dann ist und bleibt in der Tabelle nur die 1Zelle ausgewählt und das soll natürlich auch nicht sein.

    Wo liegt mein Fehler?

    Gruß Califax



  • Hallo

    Hab was gefunden in der EVENT Tabelle.

    BEGIN_EVENT_TABLE(STL_MeinPanel, MainPanel)
    	EVT_BUTTON(ID_MAIN_OK, STL_MeinPanel::OnOK)
    	//EVT_GRID_CELL_LEFT_CLICK(STL_MeinPanel::OnGridCellLeftClick )
    END_EVENT_TABLE()
    

    wenn ich die Zeile

    EVT_GRID_CELL_LEFT_CLICK(STL_MeinPanel::OnGridCellLeftClick )
    

    auskommentiere geht es.

    Gehört das nicht dahin, damit wxWidgets auf die EVENT reagieren kann.
    Aber verstehen tu ich das nicht.

    Gruß Califax


Anmelden zum Antworten