Morgen.
Ich stand gerade vor dem Problem: Wie kriege ich eine Reihe von Komponenten auf den Desktop?
Nach und nach kam mir die Idee: Warum nicht die Komponenten in ein Panel packen und das mit der
WinAPI bearbeiten.
Und hier ist mein TDesktopPanel.
Es kann in der Entwurfszeit auf einem
Formular platziert und mit Komponenten bestückt werden. Zur Laufzeit wandert es dann auf den Desktop und kann mit Left/Top/Width/Height platziert/skaliert werden.
Hinweis: Das TDesktopPanel kann NICHT den Fokus erhalten. Ebensowenig alle Komponenten, die darauf sind. Man kann zwar Edits usw. drauftun, nur reinschreiben geht mangels Fokus nicht. Dafür muss man dann eine Form mit BorderStyle=bsNone verwenden.
Zwei Bugs sind noch drin:
1. Die Form zeichnet bei der Verschiebung des Panels immer noch die Scrollleisten, die einzige Möglichkeit, die da wohl funktioniert ist, bei der Form beide Scrollleisten auf Visisble=False zu stellen. Wenn jemand eine bessere Idee hat, nur her damit.
2. Es gibt ein leichtes Flimmern, wenn die Form in den Vordergrund geholt wird bei WM_MOVE. Wie man das behebt, weiß ich nicht, ich bin aber für Vorschläge offen.
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett