Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Feststellen, daß ein Control verschoben wurde
Grendel - Fr 10.09.04 12:30
Titel: Feststellen, daß ein Control verschoben wurde
Moin, moin!
Ich bastel gerade an einem ScrollPanel mit eigenen ScrollBars. Das ganze läuft auch wunderbar bis auf eine Sache. Und zwar müsste ich noch mitbekommen, wenn ein Control, daß auf meinem Panel liegt, verschoben wurde um ggf. ScrollBars einzublenden.
Das Hinzufügen bzw. Löschen von Controls bekomme ich über CM_CONTROLLISTCHANGED mit und kann bei Bedarf die Leisten ein-/ausblenden.
Ich hab die Liste der CM_Messages schon durchgeguckt aber keine Message gefunden, die dafür zuständig zu sein scheint.
Hat jemand einen Hinweis oder gar schon die Erleuchtung parat?!
Besten Dank!
MrSaint - Mo 13.09.04 11:11
Hmmm...
Wieso nimmst du nich einfach ne ScrollBox, die du so groß wie dein Panel ziehst? die sollte das ja alles schon machen.. Wenn du da keine Lust drauf hast, kannst ja vllt auch im Code der Scrollbox suchen, wie die das mit dem Verschieben machen und das als anreiz nehmen....
MrSaint
Grendel - Mo 13.09.04 15:46
Moin, moin!
MrSaint hat folgendes geschrieben: |
Wieso nimmst du nich einfach ne ScrollBox, die du so groß wie dein Panel ziehst? |
Weil ich, wie erwähnt, eigene ScrollBars haben muss und da komme ich mit einer ScrollBox nicht weiter.
MrSaint hat folgendes geschrieben: |
... kannst ja vllt auch im Code der Scrollbox suchen, wie die das mit dem Verschieben machen und das als anreiz nehmen.... |
Das werd ich dann wohl tun müssen :(
Besten Dank!
Bis neulich ...
MrSaint - Mo 13.09.04 15:58
evtl. bekommst du deine Scrollbalken aber auch in der Scrollbox rein... Du müsstest ne eigen ScrollBox-Klasse von TScrollBox ableiten, in der du die Scrollbars durch deine ersetzt. Müsstest dann halt intern in der Klasse wahrscheinlich einen Cast von deiner ScrollBar auf TControlScrollBar (die Standard-ScrollBar) halten und eben deine eigene, damit du nich die komplette Klasse neu schreiben müsstest. Dann müsstest wahrscheinlich die Zeichnen-Prozedur umschreiben, dass deine Scrollbars gezeichnet werden und net die normalen (oder? brauchts das überhaupt?). Deine Scrollbar-Klasse müsste halt auf jeden Fall von TControlScrollBar abgeleitet sein.
Wenn du jetzt halt merkst, dass das total kompliziert ist mit dem Rausfinden, wie das bei TScrollBox gelöst ist, dann würd ich den Weg einschlagen, weil allzu lang sollte die Umsetzung davon ja auch net brauchen...
MrSaint
Grendel - Mo 13.09.04 20:39
Genau in dieser Richtung habe ich mich ursprünglich umgeschaut aber eben das Ersetzen der Scrollbars scheint nicht so ohne weiteres möglich zu sein.
Hab mich dann auch nicht lange damit auseinandergesetzt sondern eine komplett eigene Scrollbox geschrieben, die auch schon einwandfrei funktioniert und im Einsatz ist nur nicht mitbekommt, wenn ein Control verschoben wird.
Werd mich in einer ruhigen Minute mal durch die möglichen Windows Messages wühlen; Irgendeine Message muss der Parent doch bekommen.
Besten Dank jedenfalls.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!