Einzelnen Beitrag anzeigen

E307

Registriert seit: 23. Feb 2006
134 Beiträge
 
Delphi 2005 Personal
 
#1

Form"ausschieben" - Problem

  Alt 19. Mär 2007, 18:17
Hallo zusammen!
Mein Formular (Form1) wird durch den Code unten an den rechten Fensterrand verschoben:
Code1
Delphi-Quellcode:
//Form ausschieben
procedure TForm1.FrmScrollOut;
var i: Integer;
begin
if FPosition=fpRight then begin
  if not SlideDone then begin
    for i := Form1.Left downto Screen.Width do
    begin
      Left := i;
      //if i mod DelayTime = 0 then Sleep(10); // Für besseres Sliding
      slidedone:= true;
    end;
    Left := Screen.Width+Form1.Width+10;
    end;
    end;
end;
Code2
Delphi-Quellcode:
//Form einziehen
procedure TForm1.FrmScrollIn;
var i: Integer;
begin
if FPosition = fpRight then begin
if not SlideDone then begin
  SetFocus;
    for i := Screen.Width downto Screen.Width do
    begin
      Left := i;
      slidedone:=true;
      //if i mod DelayTime = 0 then Sleep(10); // Für besseres Sliding
    end;
    Left := Screen.Width + Overlap;
    end;
    end;
end;

Variablen:
Overlap: Integer ^= Wert, den das Formular im eingerollten Zustand überragen soll
slidedone: Boolean ^= Nicht wichtig, die Variable wird für die Mausaktionen gebraucht
FPosition: record ^= Nicht wichtig, gibt die Position des Forms an

Die auskommentierten Zeilen können vernachlässigt werden. Durch Code1 soll das Formular ausgeschoben werden, wenn man mit der Maus über den Rahmen, der noch sichtbar ist, gefahren ist. Wenn man mit der Maus wieder vom Formular heruntergeht, soll das Formular durch Code2 wieder eingefahren werden. Das funktionierte auch, solange ich das Formular mit anderen Werten im Code an der oberen Bildschirmseite schieben wollte. Der Code oben soll das fpr den rechten Rand erledigen, tut das aber nicht. Was ist daran falsch?
(Werd diese Formulierung nicht verstanden hat, der sollte sich mal Bei Google suchenAquaDock ansehen, vielleicht wird das dann klarer)
  Mit Zitat antworten Zitat