Veröffentlicht 8. Januar 200322 j Hallo, ich habe in der Toolbox einen Button, dessen Funktion nur bei einer geöffneten Datei Sinn macht. Wie kann ich erreichen, dass der Button deaktiviert ist, wenn keine Datei geöffnet ist (so wie z.B. der Button für "Fett markieren" in Word, wenn kein Dokument geöffnet ist)? Technician
8. Januar 200322 j Du musst im MainFrame einen UPDATE_COMMAND_UI-Handler für die Command ID des Buttons einrichten. Wie das geht, steht hier. Über pCmdUI->Enable( TRUE /* oder eben FALSE */ ); kannst Du dann den Button ein- und ausschalten.
8. Januar 200322 j Also wenn´s um den Button selbst geht könnte man den ja einfach disablen und das irgendwie sichtbar machen, z.B. so: CButton-member nenn ich mal m_Button... // ausschalten m_Button.ModifyStyle(NULL,WS_DISABLED); m_Button.SetState(true); // anschalten m_Button.ModifyStyle(WS_DISABLED,NULL); m_Button.SetState(false); [code]
9. Januar 200322 j Originally posted by Klotzkopp Du musst im MainFrame einen UPDATE_COMMAND_UI-Handler für die Command ID des Buttons einrichten. Wie das geht, steht hier. Über pCmdUI->Enable( TRUE /* oder eben FALSE */ ); kannst Du dann den Button ein- und ausschalten. Okay. Und wie ermittle ich nun, ob mindestens ein Dokument geöffnet ist?
9. Januar 200322 j Originally posted by Technician Okay. Und wie ermittle ich nun, ob mindestens ein Dokument geöffnet ist? Hier hast du dich ja durch die Dokumenttemplates gehangelt. Du kannst nun für jedes Template mit GetFirstDocPosition prüfen, ob Dokumente zu diesem Template vorhanden sind. Oder du richtest im MainFrame oder in der App-Klasse einen "Dokument-Zähler" ein.
9. Januar 200322 j Originally posted by Klotzkopp Hier hast du dich ja durch die Dokumenttemplates gehangelt. Du kannst nun für jedes Template mit GetFirstDocPosition prüfen, ob Dokumente zu diesem Template vorhanden sind. danke - das funktioniert!
3. Juli 200520 j CButton-member nenn ich mal m_Button... was ist denn der CButton-member? etwa die ID von dem Toolbarfeld? wenn nicht wie erstelle ich es?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.