| Autor |
Beitrag |
csigg
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Fr 01.04.05 14:28
Kann ich einem Formular ein Hintergrundbild zuweisen???
Oder hat jemand ne gute Idee wo aufs gleich raus kommt? Moderiert von Gausi: Topic aus CLX / Delphi Language (Object-Pascal) verschoben am Fr 01.04.2005 um 15:38
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 18:00
Mach dir ein TImage auf's Formular. Irgendwohin. Dann schreibst du das da in Form1OnCreate:
Delphi-Quelltext 1: 2: 3: 4:
| Image1.SendToBack; Image1.Align := clClient; Image1.Stretch := True; Image1.Picture.LoadFromFile('bild.bmp'); |
Ich versuch grad ne Funktion dafür zu schreiben, dass man auch kein TImage mehr während der Erstellzeit draufsetzen muss. 
|
|
Karlson
      
Beiträge: 2088
|
Verfasst: Fr 01.04.05 18:10
Zuletzt bearbeitet von Karlson am Fr 01.04.05 18:39, insgesamt 1-mal bearbeitet
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 18:16
Achso...
Ist das dann automatisch hinten???  Und was ist, wenn zwei TImages aufeinander liegen??
|
|
Karlson
      
Beiträge: 2088
|
Verfasst: Fr 01.04.05 18:41
WeBsPaCe hat folgendes geschrieben: | Achso...
Ist das dann automatisch hinten??? Und was ist, wenn zwei TImages aufeinander liegen?? |
Bei zwei Images funktioniert alles, sind schließlich bei TGraphicControl. Erst wenn ein TWinControl dazukommt wirds problematisch.
Was hast du gemeint mit Funktion zum automatischem Backgroundsetzen?
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 19:18
Hmm?? Ich glaub wir reden grad anneinander vorbei...
(1) Ich bin dabei (5 min  ) zwei Funktionen zu schreiben, mit denen man einen Hintergrund festlegen kann und auch wieder löschen.
(2) Ich hab das SendToBack dringehabt, weil ich dachte, wenn ich das TImage erst zur Laufzeit erstell', dann kann's ja sein, dass es vorne dran hängt (also vor Buttons oder andren Images). Deshalb wollte ich wissen warum das nicht geht.
Danke schonmal. 
|
|
Karlson
      
Beiträge: 2088
|
Verfasst: Fr 01.04.05 19:37
Jo, also ich hab mich jetzt eigentlich darauf bezogen:
| Zitat: |
Ich versuch grad ne Funktion dafür zu schreiben, dass man auch kein TImage mehr während der Erstellzeit draufsetzen muss.
|
Wenn ich dein Problem richtig verstanden habe, dann müsste das so gehen
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure Background(Img : String); var Back : TImage; begin Back := Timage.Create; with back do begin align := alclient; picture.loadfromfile(img); stretch := true; end; end; |
Du sagtest ja, du willst kein Image zur Entwurfszeit einfügen müssen.
Ich dachte du willst wissen wie das geht, wegen dem Smiley.
|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Sa 02.04.05 10:51
So. Hab jetzt die beiden procedures fertig.
Zum Setzen eines Hintergrunds.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure SetBackground(aForm: TForm; aPath: String; aStretch: Boolean); var BkgrndImage: TImage; begin if TImage(aForm.FindComponent('BkgrndImage')) <> nil then with TImage(aForm.FindComponent('BkgrndImage')) do begin Picture.LoadFromFile(aPath); Stretch := aStretch; end else begin BkgrndImage := TImage.Create(aForm); BkgrndImage.Align := alClient; BkgrndImage.Parent := aForm; BkgrndImage.Picture.LoadFromFile(aPath); BkgrndImage.Stretch := aStretch; BkgrndImage.Name := 'BkgrndImage'; end; end; |
Zum Entfernen.
Delphi-Quelltext 1: 2: 3: 4:
| procedure ClearBackground(aForm: TForm); begin with TImage(aForm.FindComponent('BkgrndImage')) do Free; end; |

|
|
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Sa 02.04.05 12:49
|
|
csigg 
      
Beiträge: 706
WIn XP, Win NT, Win2000, Suse8.0
Delphi 5, Delphi 6
|
Verfasst: Mo 04.04.05 07:43
|
|