Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BenjaminH,
13. Sep 2010
So - jetzt hab ichs.
Als erstes hab ich eine Variable eingeführt: HandledMouseClick. Sie enthält, wie der Name sagt, ob der Klick schon "ausgeführt" wurde.
Im OnMouseDown wird geprüft, ob das Item meiner Liste schon markiert ist, wenn nicht, dann wirds erstmal markiert.
if not (Sender as TVisualFile).Selected then
begin
SelectItem(Sender);
HandledMouseClick:=True;
end;
Im OnMouseMove...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BenjaminH,
12. Sep 2010
Dann wird leider OnMouseUp nicht mehr aufgerufen.
Irgendwie ist das alles komisch. Z.b. im Windows Explorer ist das Verhalten, das ich will völlig normal.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BenjaminH,
10. Sep 2010
Ich habs jetzt folgendermaßen probiert:
In OnMouseDown wird BeginDrag(false, DragThreshold) aufgerufen.
Statt des normalen OnClick habe ich dafür OnMouseUp reagiert, um entscheiden zu können, ob das Objekt gedraggt wurde, oder nicht.
if not TControl(Sender).Dragging then
Jetzt habe ich folgendes Problem: BeginDrag ruft Perform(WM_LBUTTONUP, 0, Longint(PointToSmallPoint(P))); auf. Dadurch wird...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BenjaminH,
24. Aug 2010
Ja, das kommt der Sache schon sehr nahe.
Nur wird jetzt das klicken auch, wenn ich eigentlich nur draggen will ausgelöst.
Aber dagegen werde ich vorgehen indem ich entweder dann nur auf Doppelklick reagiere, oder statt OnClick OnMouseUp nehme.
Vielen Dank!
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BenjaminH,
23. Aug 2010
Hi,
ich hab hier ein Objekt, das
auf klicken reagieren soll
per Drag'n'Drop woanders hin gezogen werden können soll
sobald ich aber DragMode auf dmAutomatic habe, wird OnClick nicht mehr aufgerufen.
Gibts eine möglichkeit sowohl das Draggen, als auch das klicken zu ermöglichen?
Vielen Dank,
Benjamin