• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi映射模式实验

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
unit FrmMappingMode;

interface

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

type
  TFrmMM = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmMM: TFrmMM;

implementation

{$R *.dfm}

procedure TFrmMM.FormPaint(Sender: TObject);
var
    halfH,halfW : integer;
begin
    halfH := clientHeight div 2;
    halfW := ClientWidth div 2;
    Canvas.Rectangle(1,1,100,200);

//    SetMapMode(canvas.Handle, MM_LOMETRIC);    //逻辑单位:0.1 mm
//    SetMapMode(canvas.Handle, MM_LOENGLISH);    //逻辑单位:0.1 inch
    SetMapMode(canvas.Handle, MM_ISOTROPIC);    // 1 = 1 自定义

    { SetWindowExtEx,SetViewportExtEx 函数只对
      MM_ANISOTROPIC 和 MM_ISOTROPIC映射模式有用,其它模式下它会被忽略}
    SetWindowExtEx(canvas.Handle,500,-500,nil);
    SetViewportExtEx(canvas.Handle,ClientWidth,ClientHeight,nil);
//  SetViewportExtEx(canvas.Handle,200,200,nil);

    SetViewportOrgEx(Canvas.Handle, ClientWidth div 2, ClientHeight div 2, nil);
    Canvas.Rectangle(0,0,50,50);
    //横线
    Canvas.MoveTo(-halfW,0);
    Canvas.LineTo(halfW,0);
    //竖线
    Canvas.MoveTo(0,-halfH);
    Canvas.LineTo(0,halfH);
end;

procedure TFrmMM.FormResize(Sender: TObject);
begin
    Invalidate;
end;

end.

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi中断言Assert用法发布时间:2022-07-18
下一篇:
Delphi安装*.pas扩展名的控件发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap