![]() |
Nur horizontal verschiebbar machen
Hi,
mit Hilfe von
Delphi-Quellcode:
mache ich einen TStaticText mit der Maus verschiebbar.
{Label mit Programm verschiebbar machen}
ReleaseCapture; lbFileOpen.Perform(WM_SYSCOMMAND, $F012, 0); Gibt es eine Möglichkeit das nur für horizontale Verschiebungen zulässig zu machen? Ich habe versucht das mit Hilfe von Koordinatenabfragen/-änderungen in OnMouseMove zu machen, aber das Ereignis scheint aufgerufen zu werden. :? Chris |
Re: Nur horizontal verschiebbar machen
Zitat:
Delphi-Quellcode:
Du verwendest ja eine undokumentierte WM_SYSCOMMAND.
y := lbFileOpen.Top;
lbFileOpen.Perform(WM_SYSCOMMAND, $F012, 0); lbFileOpen.Top := y; Siehe auch die Konstante SC_MOVE aus Windows.pas mit dem Wert $F010. Ich würde mal mit diesem Wert experimentieren (die niedrigsten 4 Bits ändern); könnte sein, dass dein gewünschter Effekt auftritt. |
Re: Nur horizontal verschiebbar machen
Hi,
danke. :) Der Tipp mit der Variable ist schonmal gut. ;) Zwar kann man jetzt immer noch das Label außerhalb des sichtbaren Bereichs rauf- und runterschieben, aber es wird ja auf den Standardwert zurückgesetzt. :) Danke! Chris |
Re: Nur horizontal verschiebbar machen
Hallo Chakotay1308,
Diese Variante ist meiner Meinung nach besser, da es unter anderem verständlicher ist, als die 2 Zeilen.
Delphi-Quellcode:
var
Form1: TForm1; { -- Moving -- } Moving : Boolean; Pressed_Y_Koord : Integer; implementation {$R *.dfm} procedure TForm1.StaticText1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Pressed_Y_Koord:=Y; Moving:=true; end; procedure TForm1.StaticText1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Moving:=false; end; procedure TForm1.StaticText1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if Moving then begin StaticText1.Top:=StaticText1.Top+(Y-Pressed_Y_Koord); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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