1. 程式人生 > 其它 >Delphi學習第12天筆記

Delphi學習第12天筆記

TApplication類

  • 參見Delphi中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