![]() |
Form"ausschieben" - Problem
Hallo zusammen!
Mein Formular (Form1) wird durch den Code unten an den rechten Fensterrand verschoben: Code1
Delphi-Quellcode:
Code2
//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;
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 ![]() |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Form"ausschieben" - Problem
Hallo alleine,
mir fallen nur die beiden Schleifen auf:
Delphi-Quellcode:
setzt voraus, dass Form1.Left grösser als Screen.Width ist. Und
for i := Form1.Left downto Screen.Width do
Delphi-Quellcode:
ist ja eigentlich garkeine Schleife.
for i := Screen.Width downto Screen.Width do
|
Re: Form"ausschieben" - Problem
Code1:
Delphi-Quellcode:
Code2:
//Form ausschieben
procedure TForm1.FrmScrollOut; var i: Integer; begin if FPosition = fpRight then begin if not SlideDone then begin SetFocus; for i := Form1.Left 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;
Delphi-Quellcode:
:shock: Der Code von oben ist nicht nur falsch, sondern auch unsinnig. Das hier ist der richtige falscheCode!
//Form einziehen
procedure TForm1.FrmScrollIn; var i: Integer; begin if FPosition=fpRight then begin if not SlideDone then begin for i := Screen.Width to Screen.Width+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; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz