我在浏览一个从C移植到PASCAL(Win32API)的应用程序,不明白为什么C中的PAINTSTRUCT类型在PASCAL中变为tpainStruct。
以下是可以看到的片段:
long FAR PASCAL ClientWndProc(HWND hwnd, UINT msg, UINT mp1, LONG mp2)
{
static int cxClient, cyClient;
HBITMAP hbm;
BITMAP bm;
PAINTSTRUCT ps;
...
变成
function ClientWndProc(hwnd: WinTypes.HWND; msg: Word; mp1: Word; mp2: Longint): Longint; export;
var
hdc: WinTypes.HDC;
hdcMem: WinTypes.HDC;
hbm: WinTypes.HBITMAP;
bm: TBITMAP;
ps: TpaintStruct;
...
我需要自己移植一个应用程序同样的事情是否也适用于
TEXTMETRIC
类型?我应该用帕斯卡来称呼它吗? 最佳答案
Delphi(和它之前的Turbo Pascal,Irc)一直有前缀类型的习惯,如T
,如TStringList
,TButton
,TCustomForm
,TDateTime
,等等。
您可以在TTextMetric
单元中找到为您声明的TPaintStruct
(和Windows.pas
)以及许多标准WinAPI函数。
顺便说一下,(WinTypes
已弃用。这是Delphi1中16位应用程序的旧版本,在Delphi的更高版本中会被Windows自动替换。)
关于c - 为什么C中的PAINTSTRUCT是PASCAL中的TpaintStruct?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8113746/