把 FireMonkey 简称为 FM 吧. FM 的窗体继续使用 Left、Top 属性, 但更多控件不是了.


//FM 控件的位置控制不再是 Left、Top, 取而代之的是 Position 属性
procedure TForm1.Button1Click(Sender: TObject);
begin
  Rectangle1.Position.X := Rectangle1.Position.X + ;
  Rectangle1.Position.Y := Rectangle1.Position.Y + ;
end; //TPosition 是类
procedure TForm1.Button2Click(Sender: TObject);
var
  posObj: TPosition;
begin
  posObj := TPosition.Create(TPointF.Create(, ));
  Rectangle1.Position.Assign(posObj);
  posObj.Free;
end; //TPosition.Point 是 TPointF 类型的结构
procedure TForm1.Button3Click(Sender: TObject);
begin
  Rectangle1.Position.Point := TPointF.Create(, );
end; //TPointF 结构也拥有许多方便的方法和运算符重载
procedure TForm1.Button4Click(Sender: TObject);
var
  ptf: TPointF;
begin
  ptf.X := ClientWidth / ;
  ptf.Y := ClientHeight / ;
  ptf.Offset(-Rectangle1.Width / , -Rectangle1.Height / );
  Rectangle1.Position.Point := ptf;
end; //TVector 是包含三个元素的结构体, TPosition 可以直接使用其前两个数据
procedure TForm1.Button5Click(Sender: TObject);
var
  vector: TVector;
begin
  vector.X := ClientWidth - Rectangle1.Width;
  vector.Y := ClientHeight - Rectangle1.Height;
//  vector.W := 0.0;
  Rectangle1.Position.Vector := vector;
end;

Delphi XE2 之 FireMonkey 入门(3) - 关于 TPosition的更多相关文章

  1. Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览

    Delphi XE2 之 FireMonkey 入门(37) - 控件基础: TControl 概览 { TControl } public   constructor Create(...); ov ...

  2. Delphi XE2 之 FireMonkey 入门(45Finally) - 结题与问题

    Delphi XE2 之 FireMonkey 入门(45Finally) - 结题与问题 很喜欢 FMX 的一些新控件, 如: TExpander.TArcDial.TComboTrackBar.T ...

  3. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  4. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  5. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

  6. Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox

    Delphi XE2 之 FireMonkey 入门(41) - 控件基础: TListBox TScrollBox -> TCustomListBox -> TListBox; 其元素项 ...

  7. Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo

    Delphi XE2 之 FireMonkey 入门(40) - 控件基础: TMemo 值得注意的变化: 1.其父类 TScrollBox 的许多特性也很有用处, 如:   Memo1.UseSma ...

  8. Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox、TVertScrollBox、TFramedScrollBox、TFramedVertScrollBox

    Delphi XE2 之 FireMonkey 入门(39) - 控件基础: TScrollBox.TVertScrollBox.TFramedScrollBox.TFramedVertScrollB ...

  9. Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu、TMenuItem、TMenuBar、TMainMenu

    Delphi XE2 之 FireMonkey 入门(38) - 控件基础: TPopupMenu.TMenuItem.TMenuBar.TMainMenu 相关控件: TMenuBar.TPopup ...

随机推荐

  1. django事务模式

    from django.db import transaction from django.db import transaction with transaction.atomic(): obj = ...

  2. python查询mysql中是否存在某张表(传参)

    客户端输入了表的名字,服务端判断表是否存在. 参考:https://blog.csdn.net/qq_36523839/article/details/80639297 需要导入re模块: impor ...

  3. spark复习笔记(1)

    使用spark实现work count ---------------------------------------------------- (1)用sc.textFile(" &quo ...

  4. [MyBatis]诡异的Invalid bound statement (not found)错误

    转自:https://blog.csdn.net/z69183787/article/details/48933481 自从开始使用Maven管理项目,最近在配置MyBatis的Mapper,在Ecl ...

  5. php内置函数分析之array_sum()

    PHP_FUNCTION(array_sum) { zval *input, *entry, entry_n; if (zend_parse_parameters(ZEND_NUM_ARGS(), & ...

  6. php iconv函数转换出错问题

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  7. ping/curl

    ping查看网络连通情况 curl查看接口可用情况

  8. Arduino-舵机

    舵机一般都外接三根线,一般棕色为接地线(GND),红色为电源正极线(VCC),橙色为信号线(PWM). 用Arduino控制舵机的方法有两种: 一种是通过Arduino的普通数字传感器接口产生占空比不 ...

  9. vue-cli3.0配置

    仅在项目根目录中新建vue.config.js文件即可,部分配置如下 module.exports = { // 基本路径 baseUrl: '/', // 输出文件目录 outputDir: 'di ...

  10. 进行移动端rem适配

    (function (designWidth, maxWidth) { var doc = document, win = window; var docEl = doc.documentElemen ...