文档章节

演示控件的 Anchors 属性

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 310
阅读 2
收藏 0
本例效果图:



准备工作: 新建工程后, 在窗体上添加一个 Panel 和四个 CheckBox; 双击它们产生默认事件, 然后全选代码, 用下面代码覆盖.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
    procedure CheckBox4Click(Sender: TObject);
    procedure Panel1Click(Sender: TObject);
    procedure SetAnchor(Sender: TObject; ak: TAnchors); {自定义的过程}
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{给 CheckBox 做一个公用过程}
procedure TForm1.SetAnchor(Sender: TObject; ak: TAnchors);
begin
  with Panel1 do if TCheckBox(Sender).Checked then
    Anchors := Anchors + ak
  else
    Anchors := Anchors - ak;
end;

{初始化}
procedure TForm1.FormCreate(Sender: TObject);
begin
  Panel1.Anchors := [akLeft, akTop]; {这本来就是默认值}

  CheckBox1.Checked := True;
  CheckBox2.Checked := True;

  CheckBox1.Caption := 'akLeft';
  CheckBox2.Caption := 'akTop';
  CheckBox3.Caption := 'akRight';
  CheckBox4.Caption := 'akBottom';

  Panel1.ParentBackground := False;
  Panel1.Color := clYellow;
end;

{变化窗体大小}
procedure TForm1.Panel1Click(Sender: TObject);
const
  s1 = '点击放大窗体';
  s2 = '点击缩小窗体';
begin
  if Panel1.Caption = s2 then
  begin
    Panel1.Caption := s1;
    Width := Round(Width / 1.5);
    Height := Round(Height / 1.5);
  end
  else
  begin
    Panel1.Caption := s2;
    Width := Round(Width * 1.5);
    Height := Round(Height * 1.5);
  end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  SetAnchor(Sender, [akLeft]);
end;

procedure TForm1.CheckBox2Click(Sender: TObject);
begin
  SetAnchor(Sender, [akTop]);
end;

procedure TForm1.CheckBox3Click(Sender: TObject);
begin
  SetAnchor(Sender, [akRight]);
end;

procedure TForm1.CheckBox4Click(Sender: TObject);
begin
  SetAnchor(Sender, [akBottom]);
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/04/29/1176839.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
qml implictWidth与width 使用思考

Qml的Item作为其他控件的根,属性里面提供了ImplicitWidth和imlicitHeight与width和height属性。根据解释,implicit是自然尺寸大小,默认为0,其目的是如果没有设置width和height的时候会使用...

zhouhb1
2014/04/26
0
0
C#程序员整理的Unity 3D笔记(十五):Unity 3D UI控件至尊–NGUI

目前,UGUI问世不过半年(其随着Unity 4.6发布问世),而市面上商用的产品,UI控件的至尊为NGUI:影响力和广度(可搜索公司招聘Unity3D,常常能看到对NGUI关键词)。 NGUI虽然不是Unity官方原生...

润物互动技术团队博客
2015/03/10
0
4
从零开始学基于ARKit的Unity3d游戏开发系列16

在本课的内容中,我们将继续对ShootEnemy.cs脚本中的代码进行一些优化和完善工作。首先给武器添加一些弹药。 在Unity编辑器的Hierarchy视图中找到Canvas对象,然后右键单击,选择UI-Image,添...

王寒
2018/01/05
0
0
Android中visibility属性VISIBLE、INVISIBLE、GONE的区别

在Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为“visible ”、“invisible”、“gone”。主要用来设置控制控件的显示和隐藏。有些人可能会疑惑Invisible和gone是有什...

fjabing
2014/02/08
0
0
Windows Phone 7 - 控件的基本使用

原文地址:http://create.msdn.com/en-US/education/quickstarts/Using_Controls 【译 者注:这篇文章是翻译自微软官方的WP7 QuickStart的第三篇,讲述WP下控件的基本使用方法。部分内容加入了...

虫虫
2012/02/21
274
0

没有更多内容

加载失败,请刷新页面

加载更多

多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
7
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
6
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部