AGB  ·  Datenschutz  ·  Impressum  







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

Canvas Scrollbar machen

Ein Thema von Jazzman_Marburg · begonnen am 13. Mär 2011 · letzter Beitrag vom 14. Mär 2011
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

AW: Canvas Scrollbar machen

  Alt 14. Mär 2011, 09:19
Hallo Bummi!

Vielen Dank für Deine Reaktion!

>Wie willst Du scollen?
>Mit einem "Hand"-Cursor verschieben, über "Buttons" oder gemalte Scollbars?

Ich denke es geht um die gemalten Scrollbars: Mein Problem ist, dass wenn der Verwender meiner Klasse mir ein PNG übergibt, welches größer als mein Canvas ist, ich es zwar darstelle, aber eben nur abgeschnitten. Wenn man nun die Form re-sized (z.B. die Höhe vergrößert), dann sieht man natürlich mehr vom Image, da das re-Size Event zu einem Neu-Malen führt.
Mein Verständnis Problem ist:
Wie bekomme ich mit, dass das mir (der Klasse) übergebene Image größer ist als mein Canvas, und wie blende ich dann die nötigen Scrollbars ein, so dass der User in meinem Canvas scrollen kann.
Der erste Teil der Frage läßt sich ja außerhaleb der Klasse einfach damit beantworten, dass ich die Größe des übergebenen Images mit meiner aktuellen Canvas Größe vergleiche -- aber wenn ich es nur innerhalb meiner Klasse betrachte: Wie kriegt mein Canvas mit, dass es etwas darstellt, dass größer ist als es selbst? Und dann erst kommt das Problem, wie ich dann die geeigneten Scroolbars anzeige.

Sorry, klingt wahrscheinlich umständlicher als es vermutlich ist.
Vielen Dank für Deine Mühe!

Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#2

AW: Canvas Scrollbar machen

  Alt 14. Mär 2011, 09:48
Ein Gedanke schießt mir gerade selber durch den Kopf:

Müßte man das Problem der Scrollbars nicht von der anderen Seite her aufziehen:
Wenn ich mein Canvas größer mache als die Main-Form, müßte dann nicht die Main-Form automatisch Scrollbars einblenden?

Also: nicht meine Klasse hat Scrollbars für den Fall das das übergeben Image größer als das Canvas ist, sondern ich passe mein Canvas der Größe des Images an, und die Main-Form (wie auch immer durch meine Klasse informiert) blendet die entsprecheden Scrollbars ein?

Oder habe ich das Problem damit nicht erschlagen, oder nur verlagert?

Herrjeh...

Danke fürs mitgrübeln!

Gruß
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Canvas Scrollbar machen

  Alt 14. Mär 2011, 10:00
Eigentlich ganz einfach. Du kannst die Form selbst benutzten und das Bild dort einfügen. Oder Du nimmst halt die Scrollbox komponente und fügst das Bild dort ein. Beide haben, wenn der Inhalt grösser ist als die zu zeichnende Fläsche, die Möglichkeit die Scrollelemente automatisch einzublenden. Beide haben ebend auch ein Canvas. Somit brauchst du auch nichts berechen wie gross nun Dein bild ist.

Wenn ich Dich richtig verstanden habe?

€: HIER kam gerade ein Beispiel wie man an image in die scrollbox einfügt
Und nichts anderes musst Du auch machen. Schon hast du die Scrollelemente.

Gruss alfold

Geändert von alfold (14. Mär 2011 um 10:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Canvas Scrollbar machen

  Alt 14. Mär 2011, 14:16
Wenn Dein Bild ein definiertes Image ist und nicht ("beliebig") groß werden kann, wie z.B. die Darstellung einer Anlage in verschiedenen Auflösungen, bietet sich der von Dir oder von alfold genannte Ansatz an.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  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 12:42 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