Új hozzászólás Aktív témák
-
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.
-
vz12
tag
válasz
Yodafon #1720 üzenetére
Próbáld meg valahogy így:
mezo[1].SelectCell:=Sajat_SelectCell; // paraméterek NÉLKÜL
mezo[2].SelectCell:=Sajat_SelectCell; // paraméterek NÉLKÜL
Valamint szigorúan "eredeti" paraméterlistával:
procedure TForm1.Sajat_SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);Ezt a deklarációs résszel összhangban a kódba is bele kell tenni (természetesen ott kifejtve).
Hozzáteszem hogy nem próbáltam ki, ezen a gépen nincs Delphi sem, de elvileg így kell és ez gyakorlatilag semmiben nem különbözik a "normál" esettől, annak jobb könyvekben benne kell lennie.
Ha már ilyen előrelátó módon tömbbe szervezted az objektumokat akkor azok közös adatait (itt majdnem mind az) én a ciklusban inicializáltam volna a "parent"-hez hasonlóan, tehát pl. mezo[i].Top:=20;
Új hozzászólás Aktív témák
- Eladó egy bontatlan Google Pixel 10 128GB Obsidian (fekete) okostelefon, ajándék eredeti tokkal
- Bomba ár! Dell Latitude 7212 Rugged Extreme - i7-8G I 16GB I 256SSD I 11,6" FHD I Cam I W11 I Gari!
- Bomba ár! Lenovo X1 Tab G3 i7-8650U I 16GB I 512GB SSD I 13" 2K+ IPS Touch I Cam I W11 I Garancia
- Bomba ár! Dell Latitude 5520 - i7-1185G7 I 16GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari
- Bomba ár! Dell Latitude 5420 - i7-1185G7 I 8GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- PS Plus előfizetések kedvező áron
- Surface Laptop 4 i7-1185G7 16GB 512GB magyarbill 1 év garancia
- Asus ROG Zephyrus G15 - 15.6" 4K 120Hz - Ryzen 7 6800HS - 24GB - 512GB - RTX 3060 - 2 hó garancia -
- HIBÁTLAN iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3303
- AKCIÓ! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest