Einzelnen Beitrag anzeigen

Leanahtan

Registriert seit: 5. Jun 2009
62 Beiträge
 
Turbo Delphi für Win32
 
#1

Trotz AutoScrollbar keine Scrollbar

  Alt 29. Aug 2011, 15:56
Ist mir zwar peinlich eine solche Frage zu stellen, obwohl es schon soviele Themen zu ähnlichen Fragen gibt, aber ich komme trotzdem einfach nicht weiter.

Eigentlich ist alles ganz einfach. Ich habe ein neues Fenster angelegt (TShowMapForm = class(TForm)), und auf dieses eine TImage (MapPreviewImage) gelegt. Das Bitmap des TImage wird erst während der Laufzeit erstellt (Aufruf von ShowMap), und kann beliebig groß sein. Im ersten Schritt, hatte ich einfach die Größe von ShowMapForm an die Größe des Bitmaps angepasst, und dann das ertsellte Bitmap an TImage übergeben.

Delphi-Quellcode:
procedure TShowMapForm.ShowMap(const Map: TMapGenerator);
var
  i,j,Xoff,Yoff: Integer;
  Width, Height : Integer;

begin
  Width:=Map.MapWidth;
  Height:=Map.MapHeight;

  MapBitmap.SetSize(Width*64,Height*32+AdditionalHeight);
  Self.ClientWidth:=Width*64;
  Self.ClientHeight:=Height*32;
  //...
  // hier steht der Code, in dem MapBitmap erzeugt wird
  // ...

  MapPreviewImage.Picture.Bitmap:=MapBitmap;
end;
Soweit klappte noch alles, allerdings kann ja keiner mit einem Fenster arbeiten, dass vielfach größer ist, als die aktuelle Auflösung. Daher habe ich im nächsten Schritt die Zeilen
Delphi-Quellcode:
  Self.ClientWidth:=Width*64;
  Self.ClientHeight:=Height*32;
wieder entfernt, und in TShowMapForm den Wert AutoScroll auf true gesetzt. Aber obwohl das Bild eindeutig nicht ins Fenster passt, tauchen keine Scrollbars auf. Ich hab inzwischen alle Möglichen Eigenschaften Probiert, und auch mal mein TImage in eine TScrollbar gesetzt, aber alles ohne Ergebnis. Es ist immer nur ein kleiner Ausschnitt des Bildes sichtbar, und keine Scrollleisten. Ich wäre für Vorschläge wirklich dankbar.
  Mit Zitat antworten Zitat