Srki nije mi jasno kako si sve to mogao da uradis u tako malo koda, svaka cast!
Vladaboy93: Is it possible to learn this power?
Srki_82: Not from a beginner!
Star Wars na stranu, nije mi stvarno jasno kako si to uspeo, nikad pre nisam koristio ImageList jer bi mogao malo kod da mi pojasnis?
Code:
unit MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ImgList;
type
E_XO = (
XO_X,
XO_O,
XO_E
);
TfrmMain = class(TForm)
imgField: TImage;
lstImages: TImageList;
procedure FormPaint(Sender: TObject);
procedure imgFieldMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject); private
{ Private declarations }
FField: array [0..14, 0..14] of E_XO;
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.FormPaint(Sender: TObject);
var
X, Y: Integer;
tmpBmp: TBitmap;
begin
tmpBmp := TBitmap.Create;
for Y := 0 to 14 do
for X := 0 to 14 do
begin
lstImages.GetBitmap(Ord(FField[X, Y]), tmpBmp);
imgField.Canvas.Draw(X * 32, Y * 32, tmpBmp);
end;
tmpBmp.Free;
end;
procedure TfrmMain.imgFieldMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
fX, fY: Integer;
begin
fX := X div 32;
fY := Y div 32;
FField[fX, fY] := E_XO(Button);
imgField.Repaint;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
FillChar(FField, SizeOf(FField), Ord(XO_E));
end;
end.