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ß