OWL Menüs | 
Unter OWL basiert das "Enablen" und das "Checken" auf dem Command-Enabler. Es wird eine Variable gehalten, die den Zustand repräsentiert. Durch Anklicken des Menüpunkts wird der Inhalt der Variablen (hier FolgeTauschen) gewechselt.
Das Setzen des Hakens erfolgt am einfachsten in der Enable-Funktion. Die übergebene Enable-Variable kann mit der Methode SetCheck bearbeitet werden. Die Enable-Funktion (hier CeOption) wird jedesmal aufgerufen, wenn das Menü aufgeklappt wird.
DEFINE_RESPONSE_TABLE1(tHauptFenster, TWindow)
 ...
EV_COMMAND(OPTION, Option),
EV_COMMAND_ENABLE(OPTION, CeOption),
 ...
END_RESPONSE_TABLE;
void tHauptFenster::Option()
// Antwort auf Klicken
{
    FolgeTauschen = !FolgeTauschen;
}
void tHauptFenster::CeOption(TCommandEnabler &ce)
// Pruefung auf Enabled
{
	ce.SetCheck(FolgeTauschen?TRUE:FALSE);
}
FolgeTauschen ist eine boolesche Variable, deren Wert
durch das Anklicken verändert wird.
    // In der Fensterklasse...
    virtual LRESULT EvCommand(unsigned int id, HWND hWndCtl, unsigned int notify);
    void EvCommandEnable(TCommandEnabler& e) {e.Enable(1);}
    // ...
LRESULT tMainWindow::EvCommand(unsigned int id, HWND, unsigned int)
{ 
    if (id==M_ENDE) { 
        PostMessage(WM_QUIT);
    } else { 
        switch(id) { 
            // klassische Ereignisbehandlung 
            case M_FILEOPEN:
                break;
                // ...
            default:
        } 
    } 
} 
| Homepage - OWL-Index | 22.9.2001 (C) Copyright 1999, 2001 Arnold Willemer |