Cursor auf Komponenten-Teilen



  • Hallo,
    ich schreibe gerade eine "Multimedia"-Anwendung, dabei benutze ich eigene Cursor. Die Cursor-Properties der einzelnen Komponenten habe ich entsprechend angepasst, das klappt auch soweit wunderbar, wenn ich jetzt aber mit der Maus z.B. über eine Scrollbar (z.B. von TListView) oder über Menü (TPopupMenu) komme, wird wieder der weiße Standard-Cursor von Windows angezeigt (zumal TPopupMenu ja überhaupt keine Cursor-Property besitzt). Gibt es eine Möglichkeit, das zu ändern, also den Cursor von Popups, Scrollbars etc. auf einen beliebigen TCursor-Wert (z.B. 1000) zu setzten?

    Die Zuweisung von Screen->Cursors[crArrow] und Screen->Cursors[crDefault] hat auch nichts gebracht.

    In der FAQ hab' ich schon nachgesehen...



  • Hallo

    du kannst mit z.B.

    Forms::Screen->Cursor = crDefault; // oder eigener Wert
    

    im OnMouseOver-Event eines Controls den Cursor setzen, wenn die Maus drüberkommt. Allerdings gibt es kein OnMouseLeave-Event, so das du irgendwie durch umliegende Controls (Form) die Änderung wieder rückgängig machen mußt.

    bis bald
    akari



  • Warum soll es denn kein MouseLeave geben? Es ist im Builder nur nicht implementiert. Siehe mal hier http://www.c-plusplus.net/forum/viewtopic.php?t=61190



  • Hallo

    Okay, die WinAPI-Messages. Daran habe ich nicht gedacht. Damit kannst du dir dann selber OnMouseEnter und OnMouseLeave bauen.

    bis bald
    akari



  • Daran hatte ich auch gedacht, aber es ist das gleiche Problem:
    Die Komponenten an sich ziegen den Cursor richtig an, wenn jetzt aber z.B. eine TListBox so viele Items hat, dass es eine Scrollbar auf der rechten Seite hat, dann wird der Cursor darüber immer noch "normal" angezeigt, also der default-cursor von Windows. Im Moment geht es mir ausschließlich um die Scrollbar der TListBox, und genau die wird merkwürdigerweise nicht in meinem eigenen Cursor angezeigt...



  • versuche es mal im WinAPI-Forum mit Deinem Problem, da der Scrollbar eine Std-Windows-Komponente ist und nicht so ohne weiteres geändert werden kann (meines Wissens). Gibt auch einige Libs die das Verhalten des Std-Scrollbar ueberschreiben und benutzerdefiniertes Verhalten/Aussehen zu lassen. Musste halt mal im Netz suchen.


Anmelden zum Antworten