Autor Beitrag
red-7-seven
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mo 17.03.03 17:13 
Hi !
Krieg es nich gebacken, die Bilder meiner Imageliste nacheinander ins Stringgrid zu befördern. Schaffe nur eines reinzupacken... irgendwie hab ich da nen RIESEN Denkfehler...

Ich weiß, dass es so überhaupt nich funzt - aber vielleicht kann mir einer helfen?
Bin für jeden Tip dankbar!

<<
procedure TFrm_Spielfeldeditor.Bilder_reinpacken(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);

var
bild: Tbitmap;
nummer:byte;
begin
bild := Tbitmap.create;


with Sender as TDrawGrid do
begin
Frm_Spielfeldeditor.Image_List_Grid.GetBitmap(nummer, bild);
Canvas.StretchDraw(rect,bild);
inc(nummer);
end;
end;
>>


Vielen DANK im voraus!
*verzweifelte Grüße* red-7-seven
delphiDeveloper
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48



BeitragVerfasst: Di 18.03.03 13:16 
Ich nur deine Var nummer global gemacht und bei dem Drawgrid
das Event onDrawCell benutzt.
Weiß zwar nicht genau was du vor hast aber mit folgendem Codebeispiel
wird in jede Zelle ein Icon gemalt:



ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ImgList;

type
  TForm1 = class(TForm)
    DrawGrid1: TDrawGrid;
    Image_List_Grid: TImageList;
    procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    procedure Bilder_reinpacken(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
  end;

var
  Form1: TForm1;
  nummer: integer;

implementation

{$R *.dfm}

procedure TForm1.Bilder_reinpacken(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);

var
  bild: Tbitmap;

begin
  bild := Tbitmap.create; // dran denken die bitmaps auch wieder freizugeben !!

  with Sender as TDrawGrid do
  begin
    Image_List_Grid.GetBitmap(nummer, bild);
    Canvas.StretchDraw(rect, bild);

    inc(nummer);
    // habe nur 3 images in meiner liste  daher setzte ich glob Var nummer wieder auf 0
    if Image_List_Grid.Count <= nummer then
      nummer := 0;

  end;
end;

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin

  Bilder_reinpacken(sender,acol,arow,Rect,State);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   nummer :=0;
end;

end.
[/code]
red-7-seven Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 18.03.03 16:41 
Titel: *danke*
Vielen Dank für die ausführliche Antwort!!!
Gibt eben noch nette & hilfsbereite Menschen.. hatte die gleiche Frage noch in ein anderes Forum gepostet - da bekam ich nur schlaue Ratschläge von wegen "kannst wohl nich proggen..." und ähnliche hilfreiche Dinge !

DANKE !
MfG red-7-seven :)))