AGB  ·  Datenschutz  ·  Impressum  







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

TImage zur Laufzeit positionieren

Ein Thema von bluescreen25 · begonnen am 8. Jan 2006 · letzter Beitrag vom 8. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2      
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#1

TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 11:37
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;
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 11:42
Du solltest ein einziges Image mit Align = alClient benutzen und auf dieses alle Jpegs zeichnen. Dann brauchst du nur eine Positionsangabe.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 11:44
Zitat von Khabarakh:
Du solltest ein einziges Image mit Align = alClient benutzen und auf dieses alle Jpegs zeichnen. Dann brauchst du nur eine Positionsangabe.
Du meinst jetzt für das Hintergrundbild,OK ! Aber wie kann ich die Positionen denn für einen Button setzen ?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 11:46
Zitat von bluescreen25:
Aber wie kann ich die Positionen denn für einen Button setzen ?
Ich verstehe nicht ganz? Mit Left und Top kannst du das TImage doch positionieren.
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 11:53
Zitat von Matze:
Zitat von bluescreen25:
Aber wie kann ich die Positionen denn für einen Button setzen ?
Ich verstehe nicht ganz? Mit Left und Top kannst du das TImage doch positionieren.
Das war es schon, danke. Ich zerbrech mir den Kopf. Ist das erste Mal, das ich mir die Grafik versuche selbst zu erstellen.

Ist das hier denn die Art und Weise, wie man so Art Skins zusammenstellt?
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 12:17
Zitat von bluescreen25:
Ist das hier denn die Art und Weise, wie man so Art Skins zusammenstellt?
hi bluescreen,

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
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 12:18
Zitat von bluescreen25:
Ist das hier denn die Art und Weise, wie man so Art Skins zusammenstellt?
Wenn du es mit dem Canvas machen möchtest, kannst du das machen, doch gibt es auch Skinkomponenten wie Almdev, die das etwas professioneller erledigen und meist auch "exotischere" Designs kreieren können.
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 12:36
@ 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:
Image4.Width := 210;
Image4.Height := 60;
Image4.Top := 250;
Image4.left := 10;
Image4.Picture.LoadFromFile(extractfilepath(paramstr(0))+'button.jpg');
[edit=sakura] Zitat anstatt Edit. Original gelöscht, "Editiertes" beibehalten (-QUOTE Tage) Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 12:36
Zitat von bluescreen25:
das OnMouseOver ist nämlich beim TImage nicht enthalten.
Irgendwie driften wir vom Ursprungsthema ab, doch dazu kannst du dir mal das Projekt von mir angucken: Tum von Hanoi. Dort habe ich transparante Labels über die Image-Buttons gelegt, damit mir die OnMouse-Events zur Verfügung stehen. Ist zwar keine saubere Lösung, aber eine.
  Mit Zitat antworten Zitat
bluescreen25

Registriert seit: 27. Nov 2005
Ort: Geldern
229 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: TImage zur Laufzeit positionieren

  Alt 8. Jan 2006, 12:41
Zitat von Matze:
Zitat von bluescreen25:
das OnMouseOver ist nämlich beim TImage nicht enthalten.
Irgendwie driften wir vom Ursprungsthema ab, doch dazu kannst du dir mal das Projekt von mir angucken: Tum von Hanoi. Dort habe ich transparante Labels über die Image-Buttons gelegt, damit mir die OnMouse-Events zur Verfügung stehen. Ist zwar keine saubere Lösung, aber eine.
dein Projekt habe ich mir schon angesehen.Jetzt erinnere ich mich, dafür hast du eine Grafik "fest" integriert, auf denen ein Label für das onclick oder onmouseover zuständig war bzw eine durchsichtige Grafik überlagert.

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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz