Delphi学习第12天笔记

TApplication类

  • 参见Delphi中TApplication详解

  • Active属性:焦点是否在本程序窗口上

  • Handle属性:主窗口的句柄

  • MainForm:指定了程序的主窗体,只读,不能在运行中改变

  • 主窗体是Application创建的第一个窗体,可以在ProjectOptionForm中设定

  • 主窗体关闭则程序关闭

  • 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
原文地址:https://www.cnblogs.com/wuchangxing/p/15293090.html