第一范文网 - 专业文章范例文档资料分享平台

API 图像函数(delphi)

来源:用户分享 时间:2025/10/11 11:19:17 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

type

TForm1 = class(TForm) Button1: TButton;

procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject);

procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button1Click(Sender: TObject); end; var

Form1: TForm1;

implementation

{$R *.dfm} var

HMetaFile: HENHMETAFILE; f: Boolean; x1,y1: Integer; R: TRect;

procedure TForm1.FormCreate(Sender: TObject); const

Path = 'C:\\Temp\\MyMetaFile.emf'; begin

HMetaFile := GetEnhMetaFile(PChar(Path)); end;

procedure TForm1.FormDestroy(Sender: TObject); begin

DeleteEnhMetaFile(HMetaFile); end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin f := True; x1 := X; y1 := Y; R := Rect(x1,y1,X,Y); end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if not f then Exit; DrawFocusRect(Canvas.Handle, R); R := Rect(x1,y1,X,Y); DrawFocusRect(Canvas.Handle, R); R := Rect(x1,y1,X,Y); end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin f := False; PlayEnhMetaFile(Canvas.Handle, HMetaFile, R); end; procedure TForm1.Button1Click(Sender: TObject); begin Refresh; end; end. 窗体文件: object Form1: TForm1 Left = 0 Top = 0

Caption = 'Form1' ClientHeight = 206 ClientWidth = 339 Color = clBtnFace

Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = []

OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate OnDestroy = FormDestroy OnMouseDown = FormMouseDown OnMouseMove = FormMouseMove OnMouseUp = FormMouseUp PixelsPerInch = 96 TextHeight = 13

object Button1: TButton Left = 256 Top = 173 Width = 75 Height = 25

Caption = 'Button1' TabOrder = 0

OnClick = Button1Click end end

用 GDI 操作 EMF 文件[5]: GetEnhMetaFileDescription - 获取 EMF 文件的说明文本

再用 CreateEnhMetaFile 函数建立 EMF 文件时可以同时写入描述性说明;

用 GetEnhMetaFileDescription 函数可以读出 EMF 文件的说明文本.

本例给的说明文本非常简单, 不过标准的说明文本的格式应该是: 程序名#0文件标题#0#0

unit Unit1;

interface uses

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

TForm1 = class(TForm) Button1: TButton; Button2: TButton;

procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); end; var

Form1: TForm1;

implementation

{$R *.dfm} var

HMetaFile: HENHMETAFILE; {EMF 文件句柄}

{建立带说明的 EMF 文件}

procedure TForm1.FormCreate(Sender: TObject); const

Path = 'C:\\Temp\\MyMeateFile.emf';

Description = 'ABCDE'; {当作 EMF 文件的说明}

搜索更多关于: API 图像函数(delphi) 的文档
API 图像函数(delphi).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0wy9l0q68m0sr9z0o3m6_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top