Frage zu Baloontips



  • Sieht doch gut aus!!!

    Allerding denke ich, dass du dir das Hide() (oder ShowWindow()) und das Show() sparen kannst.
    Das OnMinimize wird ja beim bzw. vor dem minimieren aufgerufen, somit "verschwindet" deine Anwendung ja sowieso danach, oder? Entsprechend wird die dann auch mit Restore() wieder hergestellt - ohne Show().

    Ach so und nochwas - wohlgemerkt völlig egal, aber ich sags trotzdem mal - die Prototypendeklaration für die CallBack-Funktion

    LRESULT IconDrawItem(LPDRAWITEMSTRUCT lpdi); ///< Callback function
    

    kannste dir glaub ich sparen, weil deine Callback ja eh ganz oben steht und so ja auch in allen anderen Funktionen bekannt sein sollte... 😉

    Ansonsten: TOP!!!

    Ach noch ne Ergänzung fällt mir grad ein:
    Die TrayMessage() könnte man noch um einen Parameter (z.B. int index = 0) erweitern, um so den Icon dynamisch zu machen, also anhand des indexes ein anderes Bild aus der Imagelist verwenden.
    (Evtl. sinnvoll für "animierte"-TrayIcons) 😃

    in der Header:
    
    public:
        [...]
        bool __fastcall TrayMessage(DWORD dwMessage, int index = 0);
        [...]
    
    in der cpp:
    
    bool __fastcall TfrmMain::TrayMessage(DWORD dwMessage, int index)
    {
        [...]
        ImageList1->GetIcon(index, ic);
        [...]
    }
    //---------------------------------------------------------------------------
    


  • mit dem prototypen haste recht, natürlich! 🙂

    das mit dem index ist auch ne gute idee, werde ich noch einfügen.

    zum hide(), dass kann man nicht weglassen, da sonst die anwendung nur minimiert wird.

    aber das Show() kann weg, da restore ebenfalls das formular hoch bringt. 🙂

    gruß gerd

    ps: wen es stört, dass das fenster nach dem restore nur wiederhergestellt wird, aber nicht im vordergrund liegt ruft einfach nach dem

    Application->Restore();
    

    noch diese funktion auf:

    SetForegroundWindow(Handle);
    

Anmelden zum Antworten