delphi界面分类笔记

高中时期,有幸上过2节pascal的课,老师讲了一些英文(实为关键字和变量),介绍了二进制及其计算,然理解不透,遂弃之。
十几年后,因工作需要维护一个上个世纪的 delphi 工程,故学之,但已无甚意义,简记之,供自学用。

简单控件

菜单

Standard 选 MainMenu,放置合适位置,右键 Menu Designer...,点击虚线框直接输入显示的标题,可改名称,注意,名称需加前缀,否则容易和其它控件冲突。
在设计界面,单击菜单某项,即可编辑代码。
如需要-间隔,在Caption处输入-即可。
二级菜单快捷键:点击某项,在ShortCut选择快捷键,或手动输入类似Ctrl+A之类的。默认Alt比较少,可以直接输入。

状态栏

Win32 选 StatusBar,自动到底部,可调整高度。
右键控件,选第一项 Panels Editor...,点第一图标新加,名为Panels[0],可新加,依次为Panels[1]等。可设置文字对齐、方向,显示文字(此刻文字不等同于后续显示文字),等。
使用:stsInfo.Panels[0].Text := '显示内容';

树形

Win32 选 TreeView。
代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var
rootNode, subNode, personNode, mateNode, tmpNode: TTreeNode;
begin
rootNode := TreeView1.Items.Add(nil, '树根'); // 根节点
subNode := TreeView1.Items.AddChild(rootNode, '伯 节点1'); // 其下节点
personNode := TreeView1.Items.AddChild(subNode, '节节点1');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点1');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点2');
personNode := TreeView1.Items.AddChild(subNode, '节节点2');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点1');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点2');

subNode := TreeView1.Items.AddChild(rootNode, '仲 节点2');
personNode := TreeView1.Items.AddChild(subNode, '节节点1');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点1');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点2');
personNode := TreeView1.Items.AddChild(subNode, '节节点2');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点1');
mateNode := TreeView1.Items.AddChild(personNode, '节节节点2');

多页面 PageControl

Win32 选 PageControl。右键控件 New Page,可添加子页面(即TabSheet)。左键TabSheet标题可选之。
右键控件页面(可理解为TabSheet)删除子页面。

PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;

注:直接在 PageControl 控件上添加其它控件即可,与其它地方无异。不需像 MFC 那边添加到面板上。

Panel

如果在设计界面上看不到全部的,可以右键选下一面查看。

socket

默认没有 tcp 和 udp 控件。component->Install Packets,点击 Add,选择 delphi 安装目录bin子目录下,文件名为dclsockets70.bpl(注:delphi2010是dclsockets140.bpl),控件有 Internet,上有 ClientSocket、ServerSocket、 TcpClient(TTcpClient)、TcpServer(TTcpServer)、UdpServer