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...