![]() |
Bitmap in Resource einbauen
Moin,
ich habe in einem Programm für WinCE einen VirtualDrawTree, der Bitmaps einblenden soll. Der Code ist identisch zu einem Delphi-Programm (soll auch so sein!) und lädt so die Bitmaps:
Delphi-Quellcode:
Die Bitmaps habe ich mir aus der Delphi-Resource mit dem XN Resource Editor als BMP gespeichert. Doch wie bekomme die in Lazarus nun in die Resource hinein, damit das funktioniert? Gibt's da irgendwo ein Wiki?
// Bitmap davor setzen
tmpBmp := TBitmap.Create; if myData^.AnzahlBestellt = 0 then tmpName := 'SPINCTRL_0' else if myData^.AnzahlBestellt = 0.5 then tmpName := 'SPINCTRL_05' else if myData^.AnzahlBestellt = 1.0 then tmpName := 'SPINCTRL_1' else if myData^.AnzahlBestellt = 2.0 then tmpName := 'SPINCTRL_2' else tmpName := 'SPINCTRL_3'; tmpBmp.LoadFromResourceName(HInstance, TmpName); CU, der Poelser |
Re: Bitmap in Resource einbauen
HI,
du musst Lazarus per Compiler-Anweisung noich sagen, dass er die Ressource-Datei noch in die EXE einbindet. Bei Delphi geht das mit {$R xxx.res}. Lazarus hat entweder das selbe oder {$L xxx.res}. Falls du nicht fündig wirst: In der neuen Unit wird das Formular per Direktive eingebunden. Das selbe ist dann noch für die Ressource-Datei zu machen. Bernhard |
Re: Bitmap in Resource einbauen
Hi!
Ich weiß nicht, ob du's schon geschafft hast, aber unter Lazarus gibt es dafür zwei Möglichkeiten: Entweder du arbeitest mit Windows Resource Dateien (nur für Win32/64/CE) oder du verwendest Lazarus Ressourcen (Cross-Platform). Im ersten Fall erstellst du eine Resource Datei, die mit windres (in LAZARUS_DIR\fpc\VERSION\bin\i386-win32) kompiliert wird (macht FPC das auch automatisch?) und bindest die Resource mit {$R name.res} in der jeweiligen Unit ein. Der Zugriff auf die Ressourcen erfolgt wie in Delphi. Solltest du die Lazarus Variante verwenden wollen, so verweise ich dich auf das ![]() Kurz gesagt: du erzeugst mit Hilfe des Tools lazres (Quelltext unter LAZARUS_DIR\tools\lazres.pas) eine Datei, die du per Include ({$I ...}) im initialization Abschnitt deiner Unit einbindest. Der Zugriff erfolgt dann über
Delphi-Quellcode:
Gruß,
tmpBmp.LoadFromLazarusResource(TmpName);
Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz