Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Glyph.LoadFrom??????

  Alt 1. Mai 2006, 09:56
Hi und herzlich Willkommen in der DP

Erstmal vorweg, bitte markieren deinen Code mit den Delphi Tags (die siehst du während du die Nachricht tippst, ob ist eine Liste und da gibt es Delphi-Code für öffnende Tags und *Delphi-Code dann für Schließende)

Wie du ein Bild zuweist kann variieren. Der einfachste Weg ist es, wenn du dein Bild direkt aus einer Datei lädst

Delphi-Quellcode:
CONST FILENAME = 'C:\Bilder\Bild1.bmp';
begin
  x:=random(7-14);

  // hier dein Code auch etwas eingerückt, erhöht die Lesbarkeit und senkt die Fehlermöglichkeiten!
  if x = 7 then
  begin
    Karte1.Glyph.LoadFromFile(FILENAME);
  end;
end;
Dabei gibt es aber mehrere Probleme, einerseits müsstest du die Dateien mitliefern und würdest eine Menge Zeit damit verbringen diese Bilder zu laden, andererseits siehst du hier, dass der Pfad absolut ist. Wenn die bilder jetzt auf D:\ landen hast du ein Problem. Ist immer eine eher schlechte Idee.
Altnernativ kannst du Bilder direkt als Ressourcen einbinden (dazu würdest du dann sicherlich Hilfe finden), leichter ist es aber eine TImageList zu verwenden. Bei der ist es wichtig, dass all dein Bilder die gleiche Größe haben. Width und Height der ImageList festlegen und mit Doppelklick ein Fenster öffnen, in dass du deine Bilder laden kannst. Die werden dann mit in die .exe eingebunden.
Bilder bekommst du mittels getBitmap wieder aus der Liste raus.

Delphi-Quellcode:
begin
  x:=random(7-14);

  if x = 7 then
  begin
    // hier wird jetzt das Bild mit dem Index 3 in den BitBtn geladen
    self.ImageList1.GetBitmap(3, Karte1.Glyph);
  end;
end;
Gruß Der Unwissende
  Mit Zitat antworten Zitat