Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Fritzew,
14. Jun 2017
Kannst Du abfragen mit
if GetKeyState(VK_CONTROL) < 0 then
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Fritzew,
14. Jun 2017
if (ssLeft in Shift) and
((Abs(LastPoint.X - X) > 6) or
(Abs(LastPoint.Y - Y) > 6)) then
begin
StartDragging := True;
Label1.BeginDrag(False, 8);
StartDragging := False;
end;
Ich würde aber in dem Fall
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Fritzew,
14. Jun 2017
Aus der Hilfe:
Es reicht also wenn Du Threshold setzt. Allerdings wird von BeginDrag sofort ein WM_LBUTTONUP an das Label geschickt siehe:
in BeginDrag:
if csLButtonDown in ControlState then
begin
GetCursorPos(P);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Fritzew,
13. Jun 2017
Da gebe ich Dir Recht, nur sollten wir vielleicht mal dem TE mitteilen dass er während dem Drag & Drop nicht auf eine andere Maustaste reagieren kann. Und ich denke nicht dass man SetCapture in dem Zusammenhang überhaupt erwähnen sollte.
Das kann richtig lustig werden... Ich habe hier eine 3D-Mouse mit 12!!! Tasten könnte ein neuer Anwendungsfall werden, mit Taste 1 starten und je nach Taste...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Fritzew,
13. Jun 2017
Irgendwie verstehe ich das nicht...
1. Dein Beispiel kann nicht funktionieren da Du Source und Sender vertauschst.
2. Was willst Du wirklich erreichen? Ist mir nicht klar. Deine Variable StartDragging ist nutzlos, ich verstehe den Sinn nicht.