Hallo,
Ich komm nicht ganz klar mit diesen beiden Erreignissen.
Mal kurz erklärt was ich eigentlich erreichen möchte.
Ich hab die Komponente TBitBtn etwas angepasst weil ich Sie auf einem TPanel dynamisch erzeugen möchte und verschieben möchte (Planungstafel).
Nun soll der User durch anklicken und Mausbutten gedrückthalten dieses Label verschieben können und sobald er losläßt soll an Hand der X Werte eine StoredProc mit dem neuem Startwert gefüttert werden und den dazugehörigen Datensatz entsprechend abändern.
So weit so gut. Ich kann mit
<PRE>
releaseCapture;
TWinControl(sender).Perform(WM_SYSCOMMAND,SC_MOVE+ 2,0);
</PRE>
den Button hin und herschieben. Aber ich bekomme nicht mit wenn der MousBttn losgelassen wird. Dieses Ereignis wird einfach nicht ausgelöst bzw. dur releaseCapture gelöscht.
Habs dann so probiert:
<PRE>
TWinControl(Sender).Perform(WM_LBUTTONUP,0,0);
TWinControl(sender).Perform(WM_SYSCOMMAND,SC_MOVE+ 2,0);
</PRE>
Das wiederum führt dazu das das Ereignis OnMouseUp schon beim überfahren mit der Mouse ausgelöst wird obwohl noch keine Taste gedrückt wurde.
Irgendwie ist da ein Knopf in meiner Leitung.
Vielleicht hat von Euch einer eine Idee wie es richtig geht.
LG
Peter
Ich komm nicht ganz klar mit diesen beiden Erreignissen.
Mal kurz erklärt was ich eigentlich erreichen möchte.
Ich hab die Komponente TBitBtn etwas angepasst weil ich Sie auf einem TPanel dynamisch erzeugen möchte und verschieben möchte (Planungstafel).
Nun soll der User durch anklicken und Mausbutten gedrückthalten dieses Label verschieben können und sobald er losläßt soll an Hand der X Werte eine StoredProc mit dem neuem Startwert gefüttert werden und den dazugehörigen Datensatz entsprechend abändern.
So weit so gut. Ich kann mit
<PRE>
releaseCapture;
TWinControl(sender).Perform(WM_SYSCOMMAND,SC_MOVE+ 2,0);
</PRE>
den Button hin und herschieben. Aber ich bekomme nicht mit wenn der MousBttn losgelassen wird. Dieses Ereignis wird einfach nicht ausgelöst bzw. dur releaseCapture gelöscht.
Habs dann so probiert:
<PRE>
TWinControl(Sender).Perform(WM_LBUTTONUP,0,0);
TWinControl(sender).Perform(WM_SYSCOMMAND,SC_MOVE+ 2,0);
</PRE>
Das wiederum führt dazu das das Ereignis OnMouseUp schon beim überfahren mit der Mouse ausgelöst wird obwohl noch keine Taste gedrückt wurde.
Irgendwie ist da ein Knopf in meiner Leitung.
Vielleicht hat von Euch einer eine Idee wie es richtig geht.
LG
Peter
Comment