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

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.

原文地址:https://www.cnblogs.com/moon25/p/1979628.html