[转]delphi中的HWnd,THandle,HDC有什么区别

本文详细解释了Delphi编程中hwnd、hdc、thandle的定义与用途,以及它们如何与Windows API配合工作。深入探讨了设备描述表的概念及其在图形操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


======================================================
注:本文源代码点此下载
======================================================

windodws.pas中hwnd = type longword;

windows.pas中thandle定义:thandle = system.thandle;

而在system单元中,定义thandle = longword;

windows.pas中hdc = type longword;

也就是说delphi中这三个实际上都是longword,定义出这么三个东西来, 是为了与 windows api配合,因为程序是在windows的平台上开发的,

要调用windows 的api,而在windowsapi中定义了这么个类型。

在windows系统中,

hdc handle to a device context (dc). 即指向一个设备上下文。

hwnd handle to a window.是一个窗口句柄

thandle是delphi的东西,windows自己没有定义。

device context

device context 设备描述表

要在窗口中输出文字或者显示图形,就需要用到设备描述表,即dc。dc是一个包含设备(物理输出设备,如显示器,以及设备驱动程序)信息的结构体,在windows平台下,所有的图形操作都是利用dc来完成的。

设备描述表是一个windows数据结构,它包含了一个设备(比如显示器和打印机)绘图属性的相关信息。所有的绘图操作的调用都是通过一个设备描述表类型的对象来实现,这个类对象封装了windows api(application programming interface,应用程序编程接口)函数中关于划线、作图和输入输出文本的的相关操作。设备描述表允许在窗口上进行与设备无关的绘图操作,设备描述表可以用在往屏幕、打印机或者图元文件的绘图操作。

设备描述表旗下有4个常用dc类,他们分别是cpaintdc,cclientdc,cwindowdc和cmetafiledc.


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值