Toolbarbuttens aktivieren/deaktivieren
-
Hi!
Gibt es zufällig eine gute Variante um Buttons in einer Toolbar zu aktivieren bzw. zu deaktivieren (grau zu unterlegen)?
mfg enne
-
Jedem Toolbar-Button ist i.d.R. ein Menü-ID zugeordnet. Mit dem ClassWizard kann man dann den jeweiligen ID z.B. für Frame-Windows und Viewer Klassen auswählen. Dann bekommt man als Messages COMMAND und UPDATE_COMMAND_UI angeboten. Einen Handler auf UPDATE_COMMAND_UI setzen. Dann bekommt man z.B. für den ID ID_EDIT_UNDO folgenden Rumpf (ich habe jetzt mal den Mainframe genommen):
void CMainFrame::OnUpdateEditUndo(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here }
Nun muss man das ganze noch mit Leben füllen:
void CMainFrame::OnUpdateEditUndo(CCmdUI* pCmdUI) { // UNDO möglich, wenn der Buffer nicht leer ist // IsUndoFufferEmpty() ist eine Funktion, die selbst zu implementieren ist! BOOL bEnable = !IsUndoFufferEmpty(); // Button wird deaktiviert wenn bEnable FALSE ist pCmdUI->Enable( bEnable ); }
Gruss, Gio
-
Perfekt, danke