我在浏览一个从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,如TStringListTButtonTCustomFormTDateTime,等等。
您可以在TTextMetric单元中找到为您声明的TPaintStruct(和Windows.pas)以及许多标准WinAPI函数。
顺便说一下,(WinTypes已弃用。这是Delphi1中16位应用程序的旧版本,在Delphi的更高版本中会被Windows自动替换。)

关于c - 为什么C中的PAINTSTRUCT是PASCAL中的TpaintStruct?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8113746/

10-13 08:18