Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eigene Scrollbar (https://www.delphipraxis.net/97989-eigene-scrollbar.html)

MasterEvil 20. Aug 2007 10:27


Eigene Scrollbar
 
Hallo,

ist es möglich, eine eigene Scrollbar zu machen und diese bei verschiedenen Standard-Komponenten zu benutzen? Sozusagen die Vorhandene mit meiner austauschen?

Erstelle gerade ein Widget-System und wenn in einem Widget zuviel Text steht (z.B. ein RSS-Widget), dann finde ich die Standard-Scrollbar zu hässlich und unpassend für den Stil des Widgets.
Problem ist nur, dass jedes Widget ein Panel ist und je nach Typ auf dem Panel eine andere Komponente liegt, z.B. ein VirtualTreeView.

Jemand eine Idee oder einen anderen Lösungsansatz?

Gruß,
Steffen

MasterEvil 21. Aug 2007 10:07

Re: Eigene Scrollbar
 
Keiner eine Idee? :(

shmia 21. Aug 2007 10:42

Re: Eigene Scrollbar
 
Du könntest die Windows-Botschaften an den (Standard)-Scrollbar abfangen und modifizieren oder selbst zusätzliche Windows-Botschaften verschicken.

MasterEvil 22. Aug 2007 08:57

Re: Eigene Scrollbar
 
Danke für deine Antwort.

Und wie integrier ich die Scrollbar in das Control?
Kann sie ja sonst nur daneben setzen. Hätte sie aber gerne wirklich ersetzt ;)

shmia 22. Aug 2007 09:12

Re: Eigene Scrollbar
 
Zitat:

Zitat von MasterEvil
Und wie integrier ich die Scrollbar in das Control?
Kann sie ja sonst nur daneben setzen. Hätte sie aber gerne wirklich ersetzt ;)

Du hast nicht verstanden, was ich geschrieben habe.
1.) den Sourcecode der VCL kannst du nicht verändern
2.) Scrollbars sind Bestandteil der Windows Common Controls
Alle Standard Elemente von Windows (Editfelder, Tabsheets, List-, Combobox,...) sind Common Controls
3.) die Common Controls werden von der VCL nur gekapselt

Möchte man also an der VCL vorbei das Verhalten der Common Controls verändern, dann braucht man
das Handle und kann so die Windows-Botschaften abfangen, verändern...
Natürlich muss man dazu die Interna genau kennen (siehe MSDE)
http://msdn2.microsoft.com/en-us/library/ms651267.aspx
Nicht einfach, aber du wolltest ja eine Idee.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz