AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ersatz für Timer

Ein Thema von EWeiss · begonnen am 8. Okt 2006 · letzter Beitrag vom 8. Okt 2006
Antwort Antwort
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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ersatz für Timer

  Alt 8. Okt 2006, 21:18
delay()
sleep()
Markus Kinzler
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Ersatz für Timer

  Alt 8. Okt 2006, 21:40
Hi,
dazu muss man aber sagen, dass das bei Winamp nicht über Zeit geht, sondern dass du immer nur um eine bestimmte Anzahl an Pixeln vergrößern kannst. Egal wie schnell oder langsam du ziehst, du wirst immer nur 20px oder so größer oder kleiner machen.

Chris
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz