文档章节

演示控件的 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,添...

王寒
01/05
0
0
Windows Phone 7 - 控件的基本使用

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

虫虫
2012/02/21
210
0
Android中visibility属性VISIBLE、INVISIBLE、GONE的区别

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

fjabing
2014/02/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【mpvue】三

使用了快1个月,陆续整理发现的坑 1、pageA-pageB-pageA-pageC 如果以这种顺序,大概理解成,列表进详情B, 返回列表进入详情C,那么进入详情C的时候,会因为缓存,先展现详情B的内容。解决方...

登天的感觉
19分钟前
1
0
在EXCEL指定SHEET页,指定文字位置,插入批注

Java操作EXCEL文件,利用POI,在EXCEL指定SHEET页中指定文字位置处插入批注 package excel; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.hssf......

zhaochaochao
20分钟前
1
0
一些网站。

UI schema,可以用json定义UI表单:https://jsonforms.io/examples/array

王坤charlie
27分钟前
1
0
百万连接,百亿吞吐量服务的JVM性能调优实战

转载占小狼博客 应用:shark-新美大移动端网络优化(每日接受移动端请求约150亿) 应用特点 : qps比较高,新生代增长飞快 用户的连接需要维持一段时间 单机需要维持海量连接,几十万的级别 以...

BakerZhu
30分钟前
1
0
iOS涂色涂鸦效果、Swift仿喜马拉雅FM、抽屉转场动画、拖拽头像、标签选择器等源码

iOS精选源码 LeeTagView 标签选择控件 为您的用户显示界面添加美观的加载视图 Swift4: 可拖动头像,增加物理属性 Swift版抽屉效果,自定义转场动画管理器 Swift 仿写喜马拉雅FM 可能是最好用...

sunnyaigd
30分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部