• Delphi学习第七天


    string类型和动态数组类型都是系统自管理的,不用担心内存泄漏。

    系统事件中的参数Sender: TObject,是指触发该事件的控件,但Sender是TObject类型的,在实际使用时需要强制向下转型。

    --例如有多个Button,以及一个用于显示Label, 且这些按钮的功能都是一样的,比如说将自己的caption赋给Label,则可以用Sender来实现复用按钮事件
    --即用Sender来判断是哪个按钮,再赋值,主要代码如下:
    procedure TForm1.btn1Click(Sender: TObject);
    begin
      --判断是哪个按钮可用 Sender = btn1(即按钮变量名)
      Label.Caption := TButton(Sender).Caption;  --TButton(Sender):将Sender强制向下转型为TButton类型
    end;
    --最后将其它按钮的OnClick事件都设置为btn1Click就行了。
    

    窗口Form中BorderStyle设置为Dialog,则用户不能改变窗口大小

    控件及其重要的属性:

    1,MainMenu:主菜单控件,不可视,一个窗口只有一个主菜单,但可以有多个弹出菜单(右键触发的PopMenu)。
        Items:保存的菜单项(菜单项的类型是TMenuItem),点击可以设置各种菜单项;
        Image:指定一个绑定的ImageList(在win32下)
        菜单项中的属性:caption:名称(Caption为'-'时,在菜单上显示的就是一条横线);   
                      Bitmap:图标    
                      shortcut:快捷键(不同于&定义的快捷键,这里的快捷键可以做到在按钮没显示出来是就能按到,而&定义的需要先看到这个按钮,快捷键才有效)
                      选中菜单项,右键选择Create SubMenu可以新建一个子菜单
                      ImageIndex:图标序号,需要先设置Mainmenu中的Image属性
                      Checked:该菜单项是否被点击过,为true时菜单项前会有一个√
                      AutoCheck:为True时自动设置Checked属性
                      Visible:为True时显示控件,为False时不显示控件
    2,PopMenu: 弹出菜单控件,不可视,对于大部分控件都有一个PopMenu属性,即在该控件上点击右键会显示选项。里面的属性和主菜单属性的含义一样。
         重要的事件:OnPopUp:当弹出该PopMenu时触发。
         TPopMenu类有一个PopupComponent属性,表示是在哪个控件上触发的Popup事件。
            还有一个方法PopUp(X, Y:Integer);用于设置弹出菜单的位置。例如设置菜单在当前鼠标位置弹出,主要代码如下
          var position: TPoint;
          position := Mouse.CursorPos;
          PopMenu.PopUp(position.X, position.Y);
    
    3,ImageList:图像列表控件,不可视,用于保存多个BMPPNGICO文件供其他组件使用
    4,Label控件:标签。用于显示短文本。
        重要属性:Caption:要显示的文本
                 Color:背景颜色
                 Transparent:为True时将忽略Color属性,使背景透明
                 AutoSize:为True时,当文本长度大于Width时会自动增加Label长度
                 WordTrap:为True时,当中文文本长度大于Width时会换行,配合height和Width可以实现竖向显示文本
    5,Edit控件:编辑框。
      重要属性:Text:编辑框的文本
               SelText:编辑框中被选中的文本
               ReadOnly:只读(大部分编辑控件都有的属性)
               OnChange():当编辑框中文本发生变化时触发
    6, Memo控件:多行的编辑框
      重要属性:Lines:Memo中的一行行文本
                相关方法:1,Lines.Add(String):添加一行文本;
                         2,Lines.Clear:清空Memo中所有文本;
                         3,Lines.Delete(Col):删除第Col行文本(从0开始)
                         4,Lines.LoadFromFile(FilePath):从文件中获取数据
                         5,Lines.SaveToFile(FilePath):保存到文件中
               scollBars:滚动条,ssVertical:垂直滚动
               SelectAll();选中memo中所有的文本,但前提是焦点(setFocus)在memo上(点击SpeedButton时焦点不会出现在该按钮上)
               SelText:选中的文本
               将选中文本复制到剪切板:
                 Uses Clipbrd;
                 Clipboard.AsText := memo.SelText;
               CopyToClipboard:将memo中的文本复制到剪切板
               PasteFromClipboard:将剪切板中的文本粘贴到memo中
    
    7,SpeedButton:可以加图标,点击时焦点不发生改变
    8,Button:
        重要属性: ModalResult:showModal的返回值,有mrOK, mrCancel, mrYes, mrNo, mrTryAgain等值
                  Default: 键盘输入Enter时默认点击该按钮
                  Cancel: 键盘输入Esc时默认点击该按钮
                  Click(): 相当于点击了该按钮
    9,CheckBox:复选框
        重要属性:  alignment:设置复选框相对于提示文本的位置
                   Checked:该复选框是否被选择,只有True或false(一般情况下只有选中和没选中,而当设置AllowGray=True时,状态(state)的变化是没选中(cbUnChecked)——》部分选中(cbGrayed)——》选中(cbChecked))
                   OnClick:当Checked属性发生变化时触发
    10,RadioButton:单选框,在一个容器中的所有单选框只有一个可以是选中状态的(通常用一个GroupBox装相关联的单选框)。
    11, RadioGroup:单选组,包含多个单选框
          重要属性:Items:选项的文本,一行就是一个选项
                   ItemIndex:选中的选项的序号(从0开始),如果组中没有选中的,则为-1
                   Columns:组里Items分几列显示
    12, ListBox:选项组
          重要属性:Items:选项的文本,一行就是一个选项
                   Items.Count:有多少个选项
                   Count:有多少个选项
                   SelCount:选中的有多少个
                   Selected:一个数组,保存的是Items中被选中的情况,选中为True
                   ItemIndex: 默认选中的选项的序号(从0开始),如果组中没有选中的,则为-1
                   multiSelect:是否允许多选(按Ctrl多选)
                   Columns:
                   Sorted:是否要按字符串排序Items
                   添加和清除数据同Memo控件
                   DeleteSelected;删除选中行
     13, ComboBox:下拉列表
          重要属性:Items、ItemIndex
                  DropDownCount:下拉时显示多少条选项
                  Style:
                       csDropDownList:只能选不能输入
                       csSimple:可以选也可以输入
     14, Dialogs:各种对话框,如打开文件对话框,主要用于获取文件路径,操作文件以后再学。
          Filter:Dialog的过滤器,类似于 *.txt, *.jpg之类的
          OpenDialog:打开文件夹对话框,使用如下:
             if OpenDialog.Execute then
                sFilePath := OpenDialog.FileName;
          SaveDialog:保存数据到文件
            if SaveDialog.Execute then    --如果有选择文件
                memo.Lines.SaveToFile(SaveDialog.FileName);    --将Memo中的文本保存到选中的文件中
          FontDialog:字体样式选择对话框
            if FontDialog。Execute then
                mmo.Font := FontDialog.Font;
          ColorDialog:颜色对话框:Color
          
    窗口(Form)在创建完所有控件后会触发OnCreate事件,可以在这个事件里初始化组件。
    
  • 相关阅读:
    Global.asax 事件备忘
    JavaScript异常捕捉
    还记得 virtual 吗?我们来温故知新下吧。
    开发(ASP.NET程序)把写代码写至最有面向对象味道
    MVC中实现 "加载更多..."
    js和C#中的编码和解码(备忘)
    System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
    10种提高WordPress访问速度的方法
    使用Python3实现Telnet功能
    读书计划(不断更新)201904
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15246459.html
Copyright © 2020-2023  润新知