• 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
  • 相关阅读:
    201521123115《Java程序设计》第7周学习总结
    201521123115《Java程序设计》第6周学习总结
    201521123115 《Java程序设计》第5周学习总结
    201521123115 《Java程序设计》第4周学习总结
    201521123115 《Java程序设计》第3周学习总结
    201521123115《Java程序设计》第2周学习总结
    201521123114 《Java程序设计》第13周学习总结
    201521123114 《Java程序设计》第12周学习总结
    201521123114 《Java程序设计》第11周学习总结
    201521123114 《Java程序设计》第10周学习总结
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15293090.html
Copyright © 2020-2023  润新知