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
AquaDock ansehen, vielleicht wird das dann klarer)