Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 28 Speedbuttons auf einem Panel rumschieben (https://www.delphipraxis.net/120028-28-speedbuttons-auf-einem-panel-rumschieben.html)

erich.wanker 4. Sep 2008 16:46


28 Speedbuttons auf einem Panel rumschieben
 
Hallo Leute,

Hab eine Frage:
Ich hab auf einem Panel (Doublebuffer true) 28 Speedbutton - array...
Wenn ich einen Button anklicke, kann ich ihn zur laufzeit verschieben(FDragging..FDownX,FDownY)
Die anderen Buttons machen dabei Platz (IntersectRect)
Gleichzeitig sorgt ein Timer dafür, das die Buttons wieder auf vordefinierte Plätze wandern..
// Die Bewegung der Buttons ist auf 10 Pixel eingestellt
// Der Timerintervall ist 1

Funktioniert - aber ist natürlich grottenlangsam und ruckelig..

Hab als nächstes einen Thread geschrieben, der das ganze schneller abarbeiten soll - und siehe da, Thread ist langsamer ...
Hab anschließend einen JvThreadTimer verwendet - und der ist auch langsamer.. (und wenn ich die Priorität ändere, wird das fenster nicht mehr richtig gezeichnet)


Was würdet ihr vorschlagen, wie ich die Buttons schneller und besser auf einem Panel bewegen kann...

mkinzler 4. Sep 2008 18:59

Re: 28 Speedbuttons auf einem Panel rumschieben
 
Warum Buttons?

erich.wanker 5. Sep 2008 10:09

Re: 28 Speedbuttons auf einem Panel rumschieben
 
Zitat:

Zitat von mkinzler
Warum Buttons?


Hy,

momentan verwende ich Buttons.
Dadurch hab ich automatisch folgende Funktionalitäten:

- Transparenz des Glyph
- einfache Platzierung
- Beschriftung
- OnClick / ect.. - Events
...

wie würdest du das machen ?

LiGrü

Erich

NickelM 7. Sep 2008 00:13

Re: 28 Speedbuttons auf einem Panel rumschieben
 
Hmmm.....

Ich hab delhpi 5 und die damlige für Delphi 5 verfügbare Demoversion von LMD Tools hatte eine Komponente, die das verschieben managerte (glaube LMDExplorer oder so). Zur Laufzeit konntest du dan die Komponenten bewegen. also platzierten.

Bei der jetzigen kostenlosen ist es nicht mehr dabei.


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

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