![]() |
Wie funktioniert die Delphi Trackbar ?!?
Hiho alle...
hab mal wieder ne Frage: Wie funktioniert die Trackbar in Delphi ?!? Ich möchte damit das Zoomlevel für meinen TWebBrowser einstellen!!! (WebBrowser1.OleObject.Document.Body.Style.Zoom := 0.50;) Dies hab ich bisher auf verschiedene Buttons gelegt! Möchte jetzt aber eine Trackbar verwenden. Wie realisiere ich das und muss man dann noch soetwas wie "übernehmen" drücken ?!?! Wäre nett, wenn mir das jemand an einem (diesem) Beispiel erklären könnte! Danke Trouble_Maker |
Moin Trouble Maker,
Du musst nur die Eigenschaften Min/Max der Trackbar wie gewünscht (erforderlich) setzen, und kannst dann im OnChange Ergeignis die Eigenschaft Position abfragen (bzw. verarbeiten). Die bewegt sich (logisch ;-) ) immer zwischen Min und Max. |
hmm ...
bedeutet das min/max wieveil "Schritte" die Trackbar macht ?!? Hab nämlich insgesamt 5 Zoomlevel... also min5, max 5 !?!? hmm ich kapier das nich so richtig. Verstehe nich, wie ich dem sag, dass wenn die Trackbar ganz links steht, dass dann Zoomlevel 100 is und bei ganz rechts nur 50 % is ... wie geht das ?!? kann mir das jemand an einem Code oder ähnliches erklären ?!? danke cu Trouble_MAker |
Moin Trouble Maker,
wie die Namen schon sagen: Min gibt den niedrigsten Wert an, Max den höchsten. Bei 5 Stufen könnte man also Min = 1 und Max = 5 setzen. Wie Du jetzt die Werte Interpretierst ist Deine Sache. Im OnChange kannst Du ja mittels einer Case Anweisung, oder einer Tabelle die Zoomlevel zuordnen.
Delphi-Quellcode:
FiZoomLevel ein private Feld des Formulares ist (Typ integer), und _aiZoomLevel ein konstantes Array [1..5] of integer = (100,90, usw.
procedure TForm1.TrackBar1Change(Sender : TObject);
begin case TrackBar1.Position of 1 : FiZoomLevel := 100; 2 : FiZoomLevel := 90; //... end; end; procedure TForm1.TrackBar1Change(Sender : TObject); begin FiZoomLevel := _aiZoomLevel[TrackBar1.Position]; end; |
Hiho
sorry... kapiers immer noch nich !!! Also so sehen die Buttons aus, mit denen in den Webbrowser zoome (nur 2) WebBrowser1.OleObject.Document.Body.Style.Zoom := 1; WebBrowser1.OleObject.Document.Body.Style.Zoom := 0.50; Jetzt möchte ich einfach nur dies anstatt mit den Buttons mit der Trackbar machen! WIE GEHT DAS ?!? @Christian Seehase: Was hat es mit deisem FiZoomLevel auf sich! will doch den code von oben verwenden! Und wieso hast du 2 Prozeduren aufgelistet, obwohl diese identisch sind ?!? danke Trouble_Maker PS: Wäre dankbar für ein kleines verständliches Beispiel mit Code. Thx |
Moin Trouble Maker,
Delphi-Quellcode:
ausserdem sind die Funktionen nicht identisch, sie tun nur das Gleiche ;-)
procedure TForm1.TrackBar1Change(Sender : TObject);
begin case TrackBar1.Position of 1 : WebBrowser1.OleObject.Document.Body.Style.Zoom := 1; 2 : WebBrowser1.OleObject.Document.Body.Style.Zoom := 0.9; //... end; end; procedure TForm1.TrackBar1Change(Sender : TObject); const _aZoomLevel : array [1..5] of double = (1,0.9 usw.) begin WebBrowser1.OleObject.Document.Body.Style.Zoom := _aZoomLevel[TrackBar1.Position]; end; Der erste Fall ist sinnvoll, falls eventuell noch mehr passieren soll, in Abhängigkeit der Position der Trackbar. |
hiho
JUHUU Danke Christian Seehase! Habs endlich hinbekommen :-) bis dann Trouble_Maker |
so hi ich bins nochmal!
Hab aber jetzt noch eine Frage: Wie stell ich die Track bar so ein, dass der "Zeiger" beim Start des Programms nicht links sondern in der Mitte steht ?!? Will bei dem Mittelpunkt 100 % haben dann nach links reinzoomen und nach rechts rauszoomen ! Geht das ?!? danke Trouble_Maker |
ah hat sich schon erledigt!
geht mit Position und dann wert 5 z.b cu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 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