Thema: Delphi Ersatz für Timer

Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Ersatz für Timer

  Alt 8. Okt 2006, 12:58
Ich möchte wie in meinen Projekt die Form beim resitz
ruckweise bewegen. Ala Winamp.

Mein code...

Delphi-Quellcode:
procedure Tfrm_Gen.picFormResizeMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
      If FormFlag = False Then
        begin
        FX := picFormResize.Left + (picFormResize.Width div 2);
        FY := picFormResize.Top + (picFormResize.Height div 2);
        AX := x;
        AY := y;
        FormFlag := True;
        FormFirst := True;
        fTimer := GetTickCount + 0.2; //GetTickCount kein ersatz für Timer(VB)
        end;

end;
Delphi-Quellcode:
procedure Tfrm_Gen.picFormResizeMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  posW : Dword;
  posH : Dword;
  formW : Dword;
  formH : Dword;
begin

    If FormFlag = True Then
    begin
        If GetTickCount < fTimer Then Exit;
          fTimer := GetTickCount + 0.2; //GetTickCount kein ersatz für Timer(VB)

        if FormFirst = True then
         begin
         posW := (FX + x) - x;
         end
         else
         posW := (FX + x) - AX;

        if FormFirst = True then
         begin
         posH := (FY + y) - y;
         end
         else
         posH := (FY + y) - AY;

        If posW < 261 Then
          posW := 261;

        If posH < 99 Then posH := 99;
         if FormFirst = True then
          begin
           FX := FX;
          end
          else
           FX := posW;

         if FormFirst = True then
          begin
           FY := FY;
          end
          else
           FY := posH;

        If FormFirst = False Then
        begin
            picFormResize.Left := FX;
            picFormResize.Top := FY;
            formW := FX + 14;
            formH := FY + 14;
            frm_Gen.Width := formW;
            frm_Gen.Height := formH;
        End;
        FormFirst := False
    End;
end;
GetTickCount bringt nicht das gewünschte Resultat!
In VB benutze ich dafür Timer .. was aber nicht mit TTimer gleichzusetzen ist!
Die Form soll also verzögert abhängig vom Timer + 0.2 neu positioniert werden.

Hoffe ihr versteht was ich meine

gruß
  Mit Zitat antworten Zitat