![]() |
Komponenten einfrieren
Hallo,
kann man in Delphi die Komponenten einfrieren? Damit ich die zu Laufzeit auf der Form verschieben kann? Ich möchte, wenn man Strg und Alt Drückt und dann noch eine Komponente via MouseDown aktiviert, dass man diese dann verschieben kann. |
Re: Komponenten einfrieren
Meinst Du so etwas?
Delphi-Quellcode:
procedure TFormMain.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); begin if (ssAlt in Shift) and (ssCtrl in Shift) then begin ReleaseCapture; Button1.Perform(WM_SYSCOMMAND,$F012,0); end; end; |
Re: Komponenten einfrieren
Hey genau das meine ich. Ich probiere das schon seit einer Stunde und habe schon was weiß ich wieviel code getippt. Das es mit so ein paar zeilen getan ist, hätte ich nicht gedacht. Vielen dank.
MFG Christian18 |
Re: Komponenten einfrieren
Zitat:
![]() |
Re: Komponenten einfrieren
Ich habe die Suche probiert, aber nichts gefunden. Wahrscheinlich habe ich die falschen Schbegriffe eingeben.
Ich habe gerade gesehen, dass man das nicht mit allen Komponenten machen kann. Wie geht das denn mit einem Label oder so? |
Re: Komponenten einfrieren
Das geht nur bei Objekten, die ein Handle haben, z.B. Panels, Edit usw. Und Labels haben kein Handle.
|
Re: Komponenten einfrieren
Aber StaticText hat ein Handle.
|
Re: Komponenten einfrieren
Du könntest es natürlich auch einfacher machen, indem du in einer Variable speicherst, ob die Maustaste gedrückt ist. Ich hab bei den Schweizern ein
![]() Das geht dann übrigens bei allen Objekten, die ein OnMouseDown/Up/Move haben. Mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:33 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