Delphi學習第12天筆記
阿新 • • 發佈:2021-09-16
TApplication類
-
Active屬性:焦點是否在本程式視窗上
-
Handle屬性:主視窗的控制代碼
-
MainForm:指定了程式的主窗體,只讀,不能在執行中改變
-
主窗體是Application建立的第一個窗體,可以在Project\Option\Form中設定
-
主窗體關閉則程式關閉
-
Terminated:程式是否收到來自Windows的WM_QUIT訊息
-
Delphi應用程式總會因為主窗體或應用程式關閉,或者因為Terminate 方法被呼叫而收到訊息WM_QUIT。
-
BringtoFront: 將程式最近活動的視窗置於最前端
-
CreateForm:建立視窗,不建議總是預設在.dproj中建立,而是按需建立
-
procedure CreateForm(FormClass: TFormClass; var Reference);
-
OnActivate:當程式成為活動狀態時觸發的事件
-
OnDeactivate:當程式由活動狀態轉為不活動狀態時觸發的事件
-
OnIdle:當應用程式成為空閒狀態時OnIdle事件發生
-
空閒狀態指應用程式不執行任何程式碼的狀態,如等待使用者輸入時
-
OnMessage:當接收到Windows訊息是觸發該事件
TStrings
Form的事件
- OnCreate:在視窗元件建立完畢後觸發
- OnShow:視窗呼叫show或ShowModal時觸發
- OnClose:關閉視窗時,有個引數CloseAction,{caNone(不關閉視窗), caHide(僅隱藏), caFree(釋放), caMinimize(最小化)}
- OnHide: 隱藏視窗時
- OnDestroy:銷燬視窗時
- 一般的視窗的生命週期:建立視窗--》顯示視窗--》使用視窗--》關閉視窗--》隱藏視窗--》銷燬視窗
- 不一定所有視窗都能觸發上述事件
Additional單元
CheckListBox控制元件
- 作用:和Memo有點像,但裡面每一行都是一個複選框
- Items:每一行就是一個複選框
- ItemIndex:當前選擇的行號
- OnClickCheck:當點選複選框時觸發的事件
- Checked:儲存Items中每一行是否選中的Boolean陣列
Splitter控制元件
- 用途:用於分隔元件並允許拖動分隔的控制元件來改變控制元件大小
Shape控制元件
- 用途:用於畫圖
- Brush
- Pen
- Shape
ScollBox
- 用途:擁有滾動條的容器
- 一般設定Align為Client,Bevel屬性全設為None、ParentColor設為True
ColorBox
- 用途:各種顏色的選項,以下拉列表的形式
ColorList
- 用途:同上,是列表的形式
Bevel
- 用途:設定height = 2,用來表示一條線
StaticText
- 用途:有邊框的Label
ControlBar
- 用途:可拖動的工具欄,容器
LabeledEdit
- 用途:一個標籤和編輯框繫結在一起的元件
- EditLabel:設定標籤的樣式,和label控制元件的屬性一樣
- LabelPostion:標籤相對於編輯框的位置
- LabelSpacing:標籤與編輯框的距離
CatagoryPanelGroup
- 用途:用於建立類似手風琴效果的選單的容器
- Collapse All:收起所有選單
- Expand All:展開全部選單
FlowPanel
- 用途:建立流式佈局
- FlowStyle:內部控制元件排版規則,如fsBottomTopLeftRight:從下往上,從左往右排列控制元件
GridPanel
- 用途:建立表格佈局
- ColumnCollection:編輯列數和列寬
StringGrid
- 用途:建立表格
- ColCount:列數
- Col:當前所在單元格的列號
- Row:當前所在單元格的行號
- RowCount:行數
- FixedCols:固定列數
- FixedRows:固定行數
- DrawingStyle:為gdsThemed時是根據Windows系統來確定單元格的風格
- FixedColor:固定單元格的顏色
- DefaultRowHeight:預設行高
- DefaultColWidth:預設列寬
- RowHeight[I: integer]:設定某行的行高
- ColWidth[I]:改變某列的列寬
- Ceils[ACol, ARow: Integer]:string返回(ACol, ARow)位置的單元格內容,行號和列號都從0開始
- LeftCol:第一個可視非固定列的列號
- TopRow:第一個可視非固定行的行號
- Selection:代表StringGrid範圍選中的單元格
Selection: TGridRect;
//TGridRect是一個記錄型別,表示一個矩形範圍內的單元格的位置
TGridRect = record
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TGridCoord);
end;
//Left:最左邊的列號
//Right:最右邊的列號
//Top:最上面的行號
//Bottom:最下面的行號
- CellRect(ACol, ARow):
- OnFixedCellClick:點選固定單元的事件,可用於點選欄位觸發排序
- OnSelectCell:當選中表格單元的事件,CanSelect引數指定單元格是否可選中
- OnSetEditText:當用戶編輯單元格的值時觸發, value引數指使用者編輯後單元格的值
- OnGetEditText:當
- Options:設定表格選項
goRangeSelect: 決定是否可以範圍選擇單元格。設定goEditing後該項不再起作用。
goDrawFocusSelected: 決定是否加亮顯示獲得輸入焦點的單元格的背景。
goRowSizing: 決定是否可以改變非固定行的行高。
goColSizing: 決定是否可以改變非固定列的列寬。
goRowMoving: 決定是否可以移動非固定行。
goColMoving: 決定是否可以移動非固定列。
goEditing: 決定單元格是否可以編輯。可以按F2進入編輯狀態。
goTabs: 決定是否可以通過Tab或Shift+Tab實現輸入焦點在單元格間移動。
goRowSelect: 決定是否整行選擇。設定該屬性後將使goEditing、goAlwaysShowEditor無效。
goAlwaysShowEditor: 決定獲得輸入焦點的單元格是否總顯示游標。只有設定了選項goEditing後該選項才有效。設定了goRowSelect, goAlwaysShowEditor後該選項不起作用。
goThumbTracking: 決定表格隨著滾動條拖動而更新客戶區的方式。包含該選項時,表格的內容隨著滾動條的滾動而改變。未包含該選項時,拖動滾動條後釋放滑鼠才改變表格內容。
其它
- Assign方法:賦值, 例如Img2.Picture.Assign(Img3.Picture);
- 容器類控制元件都有一個內邊距屬性Padding
- OnKeyPress中Key的值可以在ASCII表中找到
- CharInSet(char, [Set]) 相當於 char In [Set]
- With中的Self
- fsModal In Self.FormState :判斷該視窗是否是呼叫了ShowModal顯示的模態視窗
- 交換 := 兩邊表示式的快捷鍵(外掛提供):選中表達式,Ctrl + shift + R
- 動態建立控制元件時一定要記得指定其Owner