TStringGrid組件


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); {X,Y由MOUSE事件傳入}
{取回 C , R 即為目前之Col , Row值 }
......

●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:當單元格被選中時觸發該事件;  
  OnSetEditText:當用戶編輯單元格時觸發該事件;  
  OnTopLeftChanged:當最上面的行或最左邊的列改變時觸發該事件。  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM