![]() |
DelphiX + Scrollbar
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:
ScrollbarChange
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;
Delphi-Quellcode:
Und damit die Scrollbar sich der Form anpasst:
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;
Delphi-Quellcode:
Ich weiß nicht warum das nicht funktioniert -.-
procedure TForm1.FormResize(Sender: TObject);
begin m1 := (World.lWidth)-(World.DXDraw.Width div 32); m2 := (World.lHeight)-(World.DXDraw.Height div 32); end; Bei der ersten Map die ich erstelle funktionierts und bei der zweiten nicht mehr.. |
Re: DelphiX + Scrollbar
Sind zwar noch nicht ganz 24 Stunden aaaber:
*PUSH* Ihr wollt doch alle das mein Editor fertig wird :mrgreen: |
Re: DelphiX + Scrollbar
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.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 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 by Thomas Breitkreuz