Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: alternative zu 225 onclick-ereignissen ?

  Alt 10. Nov 2004, 07:32
ich finde das mit einem image auch die einfachste variante. - Und du musst auch nicht 225 mal das OnClick schreiben wenn du ein array nutzt. Hier mal bissl source falls du es doch mit mehreren Images machen willst
Delphi-Quellcode:
  TForm1 = class(TForm)
  [...]
    fImages: Array[1..225] of TImage;
    procedure FImgClick(Sender: TObject);
  [...]

[...]
procedure TForm1.OnCreateProc(Sender: TObject);
var LCount, LX, LY, LWidth: Integer;
begin
  LWidth := 20;
  LX := 0;
  LY := 0;
  for LCount := 1 to 225 do
  begin
    fImages[LCount] := TImage.Create(Self);
    fImages[LCount].Parent := Self;
    fImages.SetBounds(LX, LY, LWidth, LWidth);
    fImages.Tag := LCount; //um später herauszufinden welches geklickt wurde
    fImages.OnClick := FImgClick;
    inc(LX, LWidth);
    if LX = 15 * LWidth then
    begin
      LX := 0;
      inc(LY, LWidth);
    end;
  end;
end;
[...]
procedure TForm1.FImgClick(Sender: TObject);
var LImage: TImage;
begin
  if Sender is TImage then
  begin
    LImage := TImage(Sender);
    //mit LImage.Tag findest du jetzt raus welches Image geklickt wurde
  end;
end;
[...]
procedure TForm1.OnDestroyProc(Sender: TObject);
var LCount: Integer;
begin
  //freigeben der Images
  for LCount := 1 to 225 do
    fImages[LCount].Free;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat