![]() |
TImage zur Laufzeit positionieren
Hallo,
mein Ziel ist, jpg-Bilder zur Erzeugung der gesamten Grafik meines MP3-Players aus einem Ordner zu laden,sowie die Positionen(ggf weitere Properties) in .Ini aufzuzeigen.Zum Testen habe ich allerdings hier erstmal die jpgs direkt bezogen. Mein Problem hier ist, das der Button im Code die Position des TImage auf meinem Formular annimmt. Ich möchte aber nicht nur die Position des jpg innerhalb des TImage angeben können (siehe Code),sondern die Position des Timage selbst, unabhängig davon, wo ich es zur Entwicklungszeit hingesetzt habe. Ist das ganze hier überhaupt die richtige Art und Weise für mein Anliegen ?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var hintergrund :tjpegimage; button :tjpegimage; begin hintergrund:=tjpegimage.Create; Image1.Width := 800; Image1.Height := 600; hintergrund.LoadFromFile(extractfilepath(paramstr(0))+'back.jpg'); Image1.Canvas.Draw(0,0,hintergrund); hintergrund.Free; button:=tjpegimage.Create; button.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg'); Image2.Width := 210; Image2.Height := 60; Image2.Canvas.Draw(0,0,button); button.Free; end; procedure TForm1.Image2Click(Sender: TObject); begin Form1.Close; end; |
Re: TImage zur Laufzeit positionieren
Du solltest ein einziges Image mit Align = alClient benutzen und auf dieses alle Jpegs zeichnen. Dann brauchst du nur eine Positionsangabe.
|
Re: TImage zur Laufzeit positionieren
Zitat:
|
Re: TImage zur Laufzeit positionieren
Zitat:
|
Re: TImage zur Laufzeit positionieren
Zitat:
Ist das hier denn die Art und Weise, wie man so Art Skins zusammenstellt? |
Re: TImage zur Laufzeit positionieren
Zitat:
ja so ähnlich mache ich es auch. für den hintergrund nutze ich ein TImage. für den rest (buttons etc.) nutze ich eine eigene komponente, die von TPaintBox abgeleitet ist (darin sind dann drei bilder gespeichert - für mouseOut, mouseOver und Clicked). einige dinge werden dann einfach per normaler Paintbox selbst gezeichnet (spektrum visualisierung, "action-display" [eine art multifunktionsbutton]) aeno |
Re: TImage zur Laufzeit positionieren
Zitat:
![]() |
Re: TImage zur Laufzeit positionieren
@ Aenogym:
das hört sich nicht schlecht an mit der eigenen Komponente, das OnMouseOver ist nämlich beim TImage nicht enthalten. Würdest du mir deine Komponente überlassen ? @ Matze: ja dies Komponente DynamicSkinForm habe ich im Moment eingesetzt,da brauchte ich mich überhaupt nicht im die Grafik kümmern. Mit den vorgefertigten Skins habe ich soweit mal meinen Player bestückt. Auf Dauer muss ich sagen, möchte ich gerne selbst mal einen SkinEditor zusammenstellen und zuvor mein Projekt (ist etwas größer als nur der Player) von Grund auf neu aufbauen, deshalb suche ich gerade nach einer geeigneten Möglichkeit, um nacher nicht wieder alles "hinterher" zu programmieren. Was ist eigendlich der grobe Unterschied vom Einlesen der Jpegs (siehe Code oben) zu diesem hier?
Delphi-Quellcode:
[edit=sakura] Zitat anstatt Edit. Original gelöscht, "Editiertes" beibehalten (-QUOTE Tage) Mfg, sakura[/edit]
Image4.Width := 210;
Image4.Height := 60; Image4.Top := 250; Image4.left := 10; Image4.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg'); |
Re: TImage zur Laufzeit positionieren
Zitat:
![]() |
Re: TImage zur Laufzeit positionieren
Zitat:
Hmm , auch nicht schlecht, nur dafür muss man ja 3 Dinge für eine Sache hinterlegen,wenn ich gerade an das Auslagern der jpgs denke, dann muss ich ja das Label auch immer mitziehen.....oder? Der User soll ja später mal seinen Skin basteln können. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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