Einzelnen Beitrag anzeigen

LexLing

Registriert seit: 3. Mär 2014
15 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Pegel einer Trackbar springt bei MouseMove Event

  Alt 6. Jun 2014, 13:40
Klingt sehr sinnig.

Delphi-Quellcode:
procedure myClass.trackbarPegelMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  pt: TPoint;
begin
  // Da MOUSEEVENTF_LEFTDOWN das MouseDown Event erneut aufrufen würde,
  // soll startMouseDownAgain eine Endlosschleife verhindern
  if startMouseDownAgain then
  begin
    startMouseDownAgain := false;
    trackBarPositionOnMousePoint(X);

    GetCursorPos(pt);
    Mouse_Event(MOUSEEVENTF_LEFTUP, pt.x, pt.y, 0, 0) ;
    Mouse_Event(MOUSEEVENTF_LEFTDOWN, pt.x, pt.y, 0, 0) ;
  end
  else
  begin
    startMouseDownAgain := true;
  end;
end;
startMouseDownAgain wird im Form Create auf false gesetzt.
Ich weiß nicht was ich falsch mache, aber es verhält sich fast genauso wie der Versuch ohne simuliertem LEFTUP und LEFTDOWN
  Mit Zitat antworten Zitat