StringGrid控制項

2022-09-02 14:15:09 字數 3552 閱讀 4441

stringgrid控制項

元件名稱:stringgrid 

●固定行及固定列:

stringgrid.fixedcols:=固定行之數;

stringgrid.fixedrows:=固定列之數;

stringgrid. fixedcolor:=固定行列之顏色;

stringgrid.color:=資料區之顏色;

●資料行列之寬高度:

stringgrid.defaultcolwidth:=內定全部之寬度;

stringgrid.defaultrowheight:=內定全部之高度;

stringgrid.colwidths[index:longint]:=某一行整行之寬度;

stringgrid.rowheights[index:longint]:=某一列整列之高度;

●資料區(cell)指定:

將某一行列停在畫面之資料區最左上角:

stringgrid.leftcol:=某一行號;

stringgrid.toprow:=某一列號;

焦點移至某一格(cell)內:

stringgrid.row:=?;

stringgrid.col:=?;

設定資料行列數:(包含固定行、列亦算在內)

stringgrid.rowcount:=?;

stringgrid.colcount:=?;

寫一字串至某一格(cell)內:

stringgrid.cells[col值 , row值]:=字串;

判斷滑鼠指標目前在哪一格(cell)範圍內:

在stringgrid之mouse事件中(up,down或move)下:

var c , r : longint;

begin

stringgrid.mousetocell(x,y,c,r);

......

●stringgrid之options屬性:

若要於程式執行中開啟或關閉options某一功能如 『gotabs』

開: stringgrid.options:= stringgrid.options + [gotabs];

關: stringgrid.options:= stringgrid.options - [gotabs];

gofixedhorzline 固定列間之水平線

gofixedvertline 固定行間之垂直線

gohorzline 資料格間水平線

govertline 資料格間垂直線

gorangeselect 滑鼠可多重選擇

godrawfocusselected 多重選擇時,第一資料項反白

gorowsizing 滑鼠可改變列高

gocolsizing 滑鼠可改變行寬

gorowmoving 滑鼠可搬資料列

gocolmoving 滑鼠可搬資料行

goediting 可編輯(與滑鼠可多重選擇互斥)

goalwaysshoweditor 須有goediting,不用按f4或enter即有等待輸入游標

gotabs 允許tab及shift-tab移動游標

gorowselect 用滑鼠點一下可選取整列(亦與滑鼠可多重選擇互斥)

gothumbtracking 滾動條動時grid跟著動,否則滾動條動完放開,grid才動

————————————————————————————————————————

主要屬性: 

cells:獲取每個單元格的值,用法cells[arow][acol]; 

cols:tstring型別,返回某一列的所有字串,用法cols[index]; 

objects:列出乙個單元格對應的物件,用法objects[arow][acol]; 

rows:tstring型別,返回某一行的所有字串,用法rows[index]; 

borderstyle:設定字串網格的邊框的樣式; 

col:在執行期有效,獲取有被選中的列; 

colcount:網格總列數; 

colwidths:網格中列的寬度,可以通過colwidths[index]來設定特定列的寬; 

defaultcolwidth:預設列寬; 

defaultdrawing:是否在整個網格被畫出時即畫出每個單元格,設為true,網格畫出(paint)時即自動畫(paint)單元格,設為false時,由程式設計師控制單元格的繪製(paint),使用drawcell畫(paint)單元格或ondrawcells事件中處理單元格; 

defaultrowheight:預設行高; 

editormode:在執行期判斷當前單元格是否處於編輯狀態; 

fixedcolor:固定行或列的顏色; 

fixedcols:固定列數量; 

fixedrows:固定行數量; 

gridheight:網格的高度(除滾動條外),當客戶區能顯示所有行時,滾動條不會出現,此時gridheight 與height屬性值相同,當客戶區不能顯示所有行時,滾動條出現了,gridheight的為height值減去滾動條高度; 

gridlinewidth:分隔單元格的線的寬度; 

gridwidth:與gridheight類似,不過是網格的寬度(除滾動條外); 

leftcol:如果有橫向滾動條的話,可見的最左邊的列的id號; 

options:為乙個列舉(enum)值,設定stringgrid的一些屬性; 

row:執行期有效,獲取包含有被選中的行; 

rowcount:stringgrid中行的數量; 

rowheights:stringgrid中每行的高度; 

scrollbars:設定當單元格無法全部顯示時的滾動條; 

selection:當options中允許選擇乙個區域時有效,返回選擇的區域; 

tabstops:是否允許某一列tab鍵無效; 

toprow:類似於leftcol,即可見的最上面的行的id號; 

visiblecolcount:可顯示的完整的列(不包括fixcol和最右邊顯示不完全的列); 

visiblerowcount:可顯示的完整的行(不包括fixrow和最小邊顯示不完全的行)。 

主要方法: 

cellrect:返回某個單元格的rect物件; 

mousetocell:返回滑鼠位置的單元格的行或列; 

mousecoord:返回指定行和列的單元格的位置rect。 

主要事件: 

oncolumnmoved:當行改變時觸發該事件; 

ondrawcell:自定義單元格的paint事件; 

ongeteditmask:指定單元格中處於edit時的editmask,即限定輸入的字元; 

ongetedittext:在單元格處於edit之前發生的事件,如在edit之前轉變單元格中文字的大小寫等等; 

onrowmoved:當行被移動時觸發該事件; 

onselectcell:當單元格被選中時觸發該事件; 

ontopleftchanged:當最上面的行或最左邊的列改變時觸發該事件。 

aspx

VBS控制項 StringGrid

在屬性的options裡面有乙個gocolsizing的,改為true即可讓使用者可調寬度。stringgrid.colcount 列數 stringgrid.cells a,b a 列數 b 行數 stringgrid.colwidths a 列寬 a 列數 stringgrid.rowcount...

stringgrid 使用技巧

1.文字居中 加 選中時 焦點 虛邊框 如何加顏色 procedure tform1.stringgrid1drawcell sender tobject acol,arow integer rect trect state tgriddrawstate var vtext pchar begin ...

StringGrid系列文章2

在string的灰色單元中寫的字能夠分成兩行 stringgrid控制項如何連線按鈕控制項 mouse在tstringgrid外單擊時,tstringgrid如何得到通知 如何在stringgrid當前行第一列也像dbgrid樣標出箭頭呢 如何在delphi 的stringgrid 控制項的 cel...