StatusBar



  • Wie kann ich in der Statusbar einen Text anzeigen, und ihn später verändern ?
    In den Bücher steht eine Lösung, mit einem indicator-Array und einem Eintrag
    in der MESSAGE MAP: ON_UPDATE_COMMAND_UI(ID_XXX, OnUpdateXXX), doch woher kommt
    das Ereignis ? Wann wird es ausgelöst ? Gegoogelt habe ich schon.


  • Mod

    Das Ereignis wird durch die Message Loop der MFC ausgelöst.
    Ursächlich wird WM_IDLEUPDATECMDUI versendet. Das wird von den Toolbars und Statusbars verarbeitet und die Fragen Ihre Member ab, was wiederum zu einer Kaskade und Weiterleitung in die View, Doc und App führt.

    https://msdn.microsoft.com/de-de/library/xkd95027.aspx



  • Gehe ich richtig in der Annahme, das die Update-Funktionen der Stausbar, nach
    jedem Anwendungs-Ereignis aufgerufen werden ? Wenn ich ein Click-Ereignis habe,
    zB in meiner CView-Klasse, werden dann erst der Click-Händler, und dann erst
    die Update-Funktionen, aufgerufen ? Sonst könnten ja die Aktualisierungstexte
    für die Statusbar nicht verändert werden.


  • Mod

    So ist es. Nachdem alle Input Nachrichten abgehandelt wurden und die Applikation Idle geht, wird der Update durchgeführt.


Log in to reply