AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Hintergrund setzen bei FormCreate
Thema durchsuchen
Ansicht
Themen-Optionen

Hintergrund setzen bei FormCreate

Ein Thema von mifuno · begonnen am 9. Jun 2005 · letzter Beitrag vom 9. Jun 2005
Antwort Antwort
mifuno

Registriert seit: 9. Jun 2005
10 Beiträge
 
Delphi 7 Personal
 
#1

Hintergrund setzen bei FormCreate

  Alt 9. Jun 2005, 13:15
Hallo,
ich habe eine BMP-Grafik die ich als Hintergrund für ein Formular verwenden möchte.
Die Prozedur mit der ich dies auf das Form setze sieht folgendermaßen aus:
Delphi-Quellcode:
procedure TSpielForm.Hintergrund();
var img_bg:TBitmap;
    pos:TRect;
begin
   img_bg:= TBitmap.Create;
   img_bg.LoadFromFile('background.bmp');
   pos.Left := 0;
   pos.Top := 0;
   pos.Right := 298;
   pos.Bottom := 392;
   Canvas.StretchDraw(pos,img_bg);
end;
Wenn ich diese Prozedur aber nun innerhalb der Prodezur FormCreate aufrufe passiert nichts. Die Grafik wird nicht auf das Formular "gesetzt". Nur bei "OnMouseDown" oder ähnlichen Ereignissen wird der Hintergrund richtig gesetzt. Weiß jemand an was das liegt?

Danke.
  Mit Zitat antworten Zitat
ringli

Registriert seit: 7. Okt 2004
510 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Hintergrund setzen bei FormCreate

  Alt 9. Jun 2005, 13:19
Funktioniert es vielleicht im OnPaint-Ereignis?
  Mit Zitat antworten Zitat
mifuno

Registriert seit: 9. Jun 2005
10 Beiträge
 
Delphi 7 Personal
 
#3

Re: Hintergrund setzen bei FormCreate

  Alt 9. Jun 2005, 13:22
ja. super da funktioniert das. danke
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#4

Re: Hintergrund setzen bei FormCreate

  Alt 9. Jun 2005, 13:23
da wird es funktionieren, ... wie auch im OnShow / OnActivate ...

und vergiss nicht dein img_bg object nach dem StretchDraw wieder freizugeben
  Mit Zitat antworten Zitat
mifuno

Registriert seit: 9. Jun 2005
10 Beiträge
 
Delphi 7 Personal
 
#5

Re: Hintergrund setzen bei FormCreate

  Alt 9. Jun 2005, 15:24
Zitat von barf00s:
und vergiss nicht dein img_bg object nach dem StretchDraw wieder freizugeben
Zu der Freigabe habe ich auch gleich noch eine Frage. Wenn ich nun z.B. einen Spielstein fallen lassen möchte mache ich es zur Zeit mit

Delphi-Quellcode:
img_stein:= TBitmap.Create;
img_stein.LoadFromFile('sp1.bmp');
for i := 1 to 100 do {nur eine dummy-schleife}
begin
  spielFeld.Canvas.Rectangle(0,0,300,300);
  Rect.Left := 10;
  Rect.Right := 35;
  Rect.Top := 10+i ;
  Rect.Bottom := 35+i;
  spielFeld.Canvas.StretchDraw(Rect,img_stein);
  sleep(2);
end;
img_stein.free;
1. Da reicht es doch wenn ich das erst am Ende wieder freigebe, oder?
2. Gibt es auch noch eine andere Möglichkeit das fallen zu realisieren ohne ständig das aktuelle Bild mit einem Rechteck zu übermalen?
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:15 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