
21.11.2010, 09:33
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
Код:
unit Unit1;
interface
uses
ExtCtrls,
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FImage: array [0..4, 0..4] of TImage;
procedure ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
AImage: TImage;
i, j: Integer;
begin
for i:=0 to 3 do
for j:=0 to 3 do
begin
AImage:=TImage.Create(Self);
AImage.Parent:=Self;
AImage.Width:=20;
AImage.Height:=20;
AImage.Left:=i*AImage.Width;
AImage.Top:=j*AImage.Height;
AImage.OnMouseDown:=ImageMouseDown;
// сохраним индексы массива картинки
AImage.Tag:=MakeWord(i, j);
AImage.Canvas.Rectangle(0, 0, AImage.Width, AImage.Height);
FImage[i, j]:=AImage;
end;
end;
procedure TForm1.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
AImage: TImage;
i, j: Integer;
begin
AImage:=TImage(Sender);
// i, j - содержат индексы картинки в массиве
i:=HIBYTE(AImage.Tag);
j:=LOBYTE(AImage.Tag);
Caption:='i, j = '+IntToStr(i)+', '+IntToStr(j);
end;
end.
__________________
Пишу программы за еду.
__________________
|