Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Delphix Tdximagelist dynamisch erstellen (https://www.delphipraxis.net/66224-delphix-tdximagelist-dynamisch-erstellen.html)

Pelzi 26. Mär 2006 22:43


Delphix Tdximagelist dynamisch erstellen
 
Hi
Ich brauche eine klasse die von Tdximagelsit abstammt. Nun muss ich in diese dynamisch erstellen. Also hab ich mich ein wenig in der Klasse umgesehen und bin zu dem Schluss gekommen, dass ich so eine Imagelist dynmisch erstelle, ein bild reinlade und es anzeige, es funktioniert aber nciht, keine fehlermeldung, nichts es wird einfach nur nciht angeziegt:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DXDraws, ExtCtrls;

type
  TForm1 = class(TForm)
    DXDraw1: TDXDraw;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  imagelist: Tdximagelist;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
  var bild: TPicture;
begin
 imagelist:=Tdximagelist.Create(dxdraw1);
 bild:=TPicture.Create();
 imagelist.DXDraw:=dxdraw1;
 imagelist.Items.Add;
 bild.LoadFromFile('H:\Dokumente und Einstellungen\ICH\Eigene Dateien\Meine Programme\Delphi\Spiel\1.bmp');
 imagelist.items[0].Picture:=bild;
 if not DXDraw1.CanDraw then
  begin
      showmessage('Ich liebe dich');
      Exit;
  end;
 blub.Items[0].Draw(dxdraw1.surface,0,0,0);
 dxdraw1.Flip;

end;

end.
Ich kann das bild in einem Image anzeigen. Es leigt also definitiv an der imagelist. Weiß jemand was ich machen muss, damit es funktioniert?

PElzi

ijcro 30. Mär 2006 13:18

Re: Delphix Tdximagelist dynamisch erstellen
 
Hello!

DXImageList has to restored after changes (can be changes as cluster at finish).

Regards

igel457 30. Mär 2006 13:28

Re: Delphix Tdximagelist dynamisch erstellen
 
Du musst außer (DXImagelist.Items.Restore) auch noch (DXImageList.Initialize) aufrufen!

Pelzi 30. Mär 2006 15:27

Re: Delphix Tdximagelist dynamisch erstellen
 
Danke, habs jetzt anders gelöst:
Delphi-Quellcode:
var bild: Tpicturecollectionitem;

...
bild:=Timagecollectionitem.create(self);
bild.picture.bitmap.loadfromfile('....bmp');
imagelist.itmes[1].assign(bild);
(wahrscheinlich nciht Fehlerfrei, habs grad freiHand geschrieben)
So funktioneirt es auch.

Pelzi


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