AGB  ·  Datenschutz  ·  Impressum  







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

DelphiX + Scrollbar

Ein Thema von Neutral General · begonnen am 17. Nov 2005 · letzter Beitrag vom 20. Nov 2005
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

DelphiX + Scrollbar

  Alt 17. Nov 2005, 15:06
Hi,

Ich habe einen RPG-Editor programmiert. Wenn das Level jetzt nicht ganz auf den Bildschirm passt benutze ich Scrollbars. Das funktioniert auch - einmal. Denn wenn man danach noch eine große Map erstellt, wo man die Scrollbars braucht, dann funktionieren die nicht mehr richtig.. Sie Scrollen nicht weit genug..

Quelltext:

Neue Map erstellen:
Delphi-Quellcode:
procedure TForm1.NeueMap1Click(Sender: TObject);
begin
  Form2.ShowModal; // Einstellungen
  World.Engine.Engine.X := 0; // An die Ausgangsposition gehn
  World.Engine.Engine.Y := 0;
  m1 := (World.lWidth)-(World.DXDraw.Width div 32); // Max von Horizontaler Scrollbar ausrechnen
  m2 := (World.lHeight)-(World.DXDraw.Height div 32); // Min von Vertikaler Scrollbar ausrechnen
  if m1 > 0 then begin // Wenn die Horizontale Scrollbar gebraucht wird...
   DoScroll1 := 1; // nicht wichtig..
   ScrollBar1.Min := 0;
   ScrollBar1.Position := 0;
   ScrollBar1.Max := m1;
  end
  else begin
   DoScroll1 := 0;
   ScrollBar1.Min := 1;
   ScrollBar1.Max := 1;
  end;
  if m2 > 0 then begin // Wenn die Horizontale Scrollbar gebraucht wird...
   DoScroll2 := 1;
   ScrollBar2.Min := 0;
   ScrollBar2.Position := 0;
   ScrollBar2.Max := m2;
  end
  else begin
   DoScroll2 := 0;
   ScrollBar2.Min := 1;
   ScrollBar2.Max := 1;
  end;
end;
ScrollbarChange
Delphi-Quellcode:
procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
if ScrollBar1.Max <> ScrollBar1.Min then begin
  if ScrollPos > ScrollAlt1 then begin
   World.Engine.Engine.X := World.Engine.Engine.X - 32;
  end;
  if ScrollPos < ScrollAlt1 then begin
   World.Engine.Engine.X := World.Engine.Engine.X + 32;
  end;
  ScrollAlt1:= ScrollPos;
end;
end;
Und damit die Scrollbar sich der Form anpasst:

Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
 m1 := (World.lWidth)-(World.DXDraw.Width div 32);
 m2 := (World.lHeight)-(World.DXDraw.Height div 32);
end;
Ich weiß nicht warum das nicht funktioniert -.-
Bei der ersten Map die ich erstelle funktionierts und bei der zweiten nicht mehr..
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: DelphiX + Scrollbar

  Alt 18. Nov 2005, 14:24
Sind zwar noch nicht ganz 24 Stunden aaaber:

*PUSH*

Ihr wollt doch alle das mein Editor fertig wird
Michael
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: DelphiX + Scrollbar

  Alt 20. Nov 2005, 11:46
du hast bestimmt irgenwo vergessen variabeln neu zu installisieren z.b.
ScrollPos
würde ich bei neuer karte neu installisieren.
oder schau mal nach welche variablen du beim ersten starten installisiert und dann vergleiche die mit der neuen karte variabeln.

weil der Fehler deutet auf sowas hin....
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  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:56 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