Új hozzászólás Aktív témák

  • Fire/SOUL/CD

    félisten

    válasz Yodafon #1720 üzenetére

    Hali!

    vz12 leírta helyesen hogy mire kell odafigyelni.

    Valamint szigorúan "eredeti" paraméterlistával:

    procedure TForm1.Sajat_SelectCell(Sender: TObject; ACol,
    ARow: Integer; var CanSelect: Boolean);

    Én annyival egészíteném ki, hogy mivel nevet is adtam az objektumoknak(stringgrid1, stringgrid2, stb) ezért van, hogy nem "akármilyen néven" hivatkozok rá(StringGrid1SelectedCell, StringGrid2SelectedCell)
    Valamint a progi kilépésekor fel kell szabadítani az objektumokat.
    Gyakorlatban ilyen a kód.

    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
    var CanSelect: Boolean);
    procedure StringGrid2SelectCell(Sender: TObject; ACol, ARow: Integer;
    var CanSelect: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    mezo:array[1..2] of TStringGrid;

    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender: TObject);
    var
    i:Integer;
    begin
    for i:=1 to 2 do begin
    mezo[i]:=TStringGrid.Create(Self);
    mezo[i].Parent:=Form1;
    mezo[i].Name:='StringGrid'+IntToStr(i);
    end;

    mezo[1].Top:=20;
    mezo[1].Left:=50;
    mezo[1].FixedCols:=0;
    mezo[1].FixedRows:=0;
    mezo[1].ColCount:=3;
    mezo[1].RowCount:=3;
    mezo[1].DefaultColWidth:=20;
    mezo[1].DefaultRowHeight:=20;
    mezo[1].Ctl3D:=false;
    mezo[1].Width:=64;
    mezo[1].Height:=64;
    mezo[1].ScrollBars:=ssNone;
    mezo[1].OnSelectCell:=StringGrid1SelectCell;

    mezo[2].Top:=200;
    mezo[2].Left:=120;
    mezo[2].FixedCols:=0;
    mezo[2].FixedRows:=0;
    mezo[2].ColCount:=3;
    mezo[2].RowCount:=3;
    mezo[2].DefaultColWidth:=20;
    mezo[2].DefaultRowHeight:=20;
    mezo[2].Ctl3D:=false;
    mezo[2].Width:=64;
    mezo[2].Height:=64;
    mezo[2].ScrollBars:=ssNone;
    mezo[2].OnSelectCell:=StringGrid2SelectCell;

    end;

    procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
    ARow: Integer; var CanSelect: Boolean);
    begin
    ShowMessage('Első grid');
    end;

    procedure TForm1.StringGrid2SelectCell(Sender: TObject; ACol,
    ARow: Integer; var CanSelect: Boolean);
    begin
    ShowMessage('Második grid');
    end;

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    var
    i:Integer;
    begin
    for i:=1 to 2 do begin
    mezo[i].Free;
    end;
    end;

    end.

    Fire.

    [ Szerkesztve ]

    Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

Új hozzászólás Aktív témák