Delphi - A TDrawGrid komponens

forráskód letöltése
A TDrawGrid osztály a TStringGrid osztály őse, de önálló komponens is tartozik hozzá. Nem rendelkezik azonban a cellák adatait tartalmazó property-kkel, viszont éppen ezért jól használható saját táblázatok kialakítására.
A TDrawGrid osztály a TCustomGrid osztályból származik, ezért az abban deklarált property-k leírása a TCustomGrid osztály leírásánál található meg.
OnColumnMoved
Osztály: TCustomDrawGrid
property OnColumnMoved: TMovedEvent;
Az esemény egy oszlop pozíciójának megváltoztatása után jön létre. A FromIndex paraméterben kapjuk meg azt, hogy melyik oszlopot, a ToIndex paraméterben pedig azt, hogy melyik pozícióba mozgatta el a felhasználó.
OnDrawCell
Osztály: TCustomDrawGrid
property OnDrawCell: TDrawCellEvent;
A DrawGrid komponensnél ez az egyik legfontosabb esemény, mivel itt kell gondoskodnunk a cella tartalmának megjelenítéséről. Paraméterként megkapjuk az oszlop és a sor sorszámát az ACol és ARow paraméterekben. A Rect paraméterben megkapjuk a cella koordinátáit, a State paraméterben pedig az állapotát. Ez utóbbi az alábbi értékeket tartalmazhatja:
  • gdSelected: a cella kiválasztott;
  • gdFocused: a cella az aktív cella;
  • gdFixed: a cella fixed oszlopban vagy sorban van.
OnGetEditMask
Osztály: TCustomDrawGrid
property OnGetEditMask: TGetEditEvent;
A DrawGrid celláinak adatait egyetlen property sem tartalmazza, viszont a cella sztring szerkesztője már ebben az osztályban is megtalálható. Ez az esemény akkor jön létre, amikor a szerkesztő lekérdezi az adatbeviteli maszkot. A Value paraméterben adhatjuk meg a maszkot, ami a MaskEdit komponensnél is használt maszknak felel meg.
OnGetEditText
Osztály: TCustomDrawGrid
property OnGetEditText: TGetEditEvent;
Ebben az eseményben kell megadnunk a szerkesztőnek a cella tartalmát (sztring). Az ACol és ARow paraméterben megkapjuk az oszlop és a sor sorszámát. A Value paraméterben kell megadnunk a cella tartalmát.
OnRowMoved
Osztály: TCustomDrawGrid
property OnRowMoved: TMovedEvent;
Egy sor elmozgatása után jön létre ez az esemény. A FromIndex paraméterben megkapjuk, hogy melyik sort, a ToIndex paraméterben pedig, hogy melyik pozícióba mozgatta el a felhasználó.
OnSelectCell
Osztály: TCustomDrawGrid
property OnSelectCell: TSelectCellEvent;
Egy cella kiválasztásakor jön létre ez az esemény. Az ACol és ARow paraméterekben megkapjuk az oszlop és a sor sorszámát. A CanSelect paraméterben megadhatjuk, hogy a cella kiválasztható-e, vagy sem. Ha a paraméter értéke igaz, akkor kiválasztható, ha hamis, akkor nem.
OnSetEditText
Osztály: TCustomDrawGrid
property OnSetEditText: TSetEditEvent;
Az esemény a cella tartalmának szerkesztésének befejezése után jön létre, amikor megkapjuk az új értéket a Value paraméterben. Az ACol és ARow paraméterekben a szokásos oszlop és sor sorszámát kapjuk meg.
OnTopLeftChanged
Osztály: TCustomDrawGrid
property OnTopLeftChanged: TNotifyEvent;
Az esemény akkor következik be, amikor a TopRow és TopLeft property-k értéke megváltozik, vagyis a táblázat görgetésekor.
CellRect
Osztály: TCustomDrawGrid
function CellRect(
ACol,
ARow: Longint
): TRect;
Ezzel a függvénnyel lekérdezhetjük egy adott cella koordinátáit. A koordinátákat egy TRect típusú struktúrában kapjuk meg.
Paraméterek
ACol: Longint
Az oszlop sorszáma.
ARow: Longint
A sor sorszáma.
Visszatérési érték
A cella koordinátái.
MouseToCell
Osztály: TCustomDrawGrid
procedure MouseToCell(
X,
Y: Integer;
var ACol,
ARow: Longint
);
Az eljárás segítségével megtudhatjuk, hogy egy adott koordináta melyik cellába esik.
Paraméterek
X: Integer
Az X koordináta.
Y: Integer
Az Y koordináta.
var ACol: Longint
Az oszlop sorszáma, amelyben a cella található.
var ARow: Longint
A sor sorszáma, amelyben a cella található.