Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Formblatthintergrundbild (https://www.delphipraxis.net/18931-formblatthintergrundbild.html)

thorstenf01 26. Mär 2004 07:30


Formblatthintergrundbild
 
Hallo,
weiß jemand, wie ich ein Bild (jpg oder bmp) als Formblatthintergrund anzeigen kann

Gruß
Thorsten

Echtet 26. Mär 2004 12:49

Re: Formblatthintergrundbild
 
Hallo Thorstenf01,

unter http://www.undu.com/DN961001/00000006.htm ist beschrieben, wie man mit Hilfe einer Ressourcendatei ein Hintergrundbild einer Form zuweist.

Ist zwar noch für Delphi 2 beschrieben, klappt aber auch unter D7.

Gruß
Echtet

Markus K. 26. Mär 2004 15:27

Re: Formblatthintergrundbild
 
Hallo thorstenf01,
hier ist nochmal eine Möglichkeit um das Bild aus einer Datei zu laden und es auf dem Formhintergrund darzustellen.
Delphi-Quellcode:
var Bild:TBitmap;
    Rect:TRect;
begin
     Bild:=TBitmap.Create;
     Bild.LoadFromFile('Pfad angeben');
     {Bild in normaler Größe darstellen, wobei x und y die Koordinaten angeben, wo das Bild gezeichnet werden soll}
     Form1.Canvas.Draw(x,y,Bild);
     {oder verwende diese Variante und das Bild gestreckt auf der Form auszugeben}   
     Form1.Canvas.StretchDraw(Form1.ClientRect,Bild);
     Bild.Free;
end;
Tschüß Markus

thorstenf01 30. Mär 2004 21:18

Re: Formblatthintergrundbild
 
Hallo,
euer Vorschlag haut irgendwie nicht hin.
Ich habe folgenden Codeauszug ins Programm implementiert und angepasst, sowie das als
Hintergrundbild erscheinende Bitmap in das Verzeichnis des Programmes kopiert.
Und es passiert nichts. Auch nicht durch einige Ereigniszuweisungen im Objektinspektor.
Code:
    procedure FormCreate(Sender: TObject);
    procedure FormPaint(Sender: TObject);
   
 private
    { Private-Deklarationen }
    TheGraphic: TBitmap; { Deklaration für die Grafik }

  public
    { Public-Deklarationen }
  end;

var  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormPaint(Sender: TObject); { Ereignisbehandlungsroutine für OnPaint }
begin
  Form1.Canvas.Draw(0, 0, TheGraphic); { Grafik auf der Zeichenfläche ausgeben }
end;

procedure TForm1.FormCreate(Sender: TObject); { Ereignisbehandlungsroutine für OnCreate }
begin
  TheGraphic := TBitmap.Create; { Bitmap-Objekt erzeugen }
  TheGraphic.LoadFromFile('C:\Dokumente und Einstellungen\Thorsten Fricke\Desktop\SCHATTENWURFDETEKTOR2'); { Bitmap aus Datei laden }
end;
Vielleicht war ich mit meiner Fragestellung auch etwas undeutig:
Es soll der Inhalt eines Bitmaps oder Jpeg`s beim Start des Programms als Formblatt-
hintergrundbild zu sehen sein, da der Graue Hintergrund sehr triste ist.
Danke nochmal für eure Hilfe im voraus
Gruß
Thorsten

Markus K. 30. Mär 2004 21:28

Re: Formblatthintergrundbild
 
Hallo thorstenf01,
ich habe es gerade nochmal ausprobiert, bei mir wird das Bild, welches ich angegeben habe auf der Form dargestellt.
Findet er die Datei bei dir? Zum anderen kann man keine Jpeg-Datei in ein Bitmap laden. Zum anderen muss der vollständige Pfad und Dateiname bei der Methode LoadFromFile angegeben werden.

Tschüß Markus

thorstenf01 30. Mär 2004 22:32

Re: Formblatthintergrundbild
 
Hallo Markus,
ich bekomme beim starten des Programmes die Fehlermeldung :
Exception der Klasse EFopenError mit der Meldung, das Datei...
nicht geöffnet werden kann.
Woran kann das liegen.
Gruß
Thorsten

Markus K. 31. Mär 2004 10:55

Re: Formblatthintergrundbild
 
Hallo thorstenf01,
wie schon gesagt, musst du den kompletten Pfad beziehungsweise den kompltten Dateinamen(inklusive Endung) angeben. z.B.:
Delphi-Quellcode:
TheGraphic.LoadFromFile('C:\Eigene Dateien\Eigene Bilder\Bild.bmp').
Außerdem kannst du nur Bitmaps in ein TBitmap laden.

Tschüß Markus

thorstenf01 31. Mär 2004 22:44

Re: Formblatthintergrundbild
 
Hallo noch einmal,
jetzt hat es geklappt.
Es lag wahrscheinlich an der Endung ".bmp".
Gruß
Thorsten

glkgereon 1. Apr 2004 17:29

Re: Formblatthintergrundbild
 
reicht es nicht, wenn man ein normales image bis an den rand der form zieht und dann sagt:
Delphi-Quellcode:
image1.anchors:=[right,left,top,bottom];
//oder (bin mir bei dem oberen nicht sicher)
image1.anchors.left:=true;
image1.anchors.right:=true;
image1.anchors.top:=true;
image1.anchors.bottom:=true;
oder is da ein haken bei???


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:03 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