AGB  ·  Datenschutz  ·  Impressum  







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

Form"ausschieben" - Problem

Offene Frage von "E307"
Ein Thema von E307 · begonnen am 19. Mär 2007 · letzter Beitrag vom 20. Mär 2007
Antwort Antwort
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
19. Mär 2007, 18:29
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
DelphiKlaus

Registriert seit: 18. Okt 2006
100 Beiträge
 
Delphi 6 Professional
 
#3

Re: Form"ausschieben" - Problem

  Alt 20. Mär 2007, 06:31
Hallo alleine,

mir fallen nur die beiden Schleifen auf:

    for i := Form1.Left downto Screen.Width do setzt voraus, dass Form1.Left grösser als Screen.Width ist. Und

    for i := Screen.Width downto Screen.Width do ist ja eigentlich garkeine Schleife.
  Mit Zitat antworten Zitat
E307

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

Re: Form"ausschieben" - Problem

  Alt 20. Mär 2007, 14:53
Code1:
Delphi-Quellcode:
//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;
Code2:
Delphi-Quellcode:
//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;
Der Code von oben ist nicht nur falsch, sondern auch unsinnig. Das hier ist der richtige falscheCode!
  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 02:42 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