function WndProc(Handle:HWND;Msg:UINT;wPar:WPARAM;lPar:LPARAM):Cardinal;stdcall; var DC:HDC; PS:PAINTSTRUCT; RT:TRECT; begin Result:=0; case Msg of WM_PAINT: begin DC:=BeginPaint(WndHandle,PS); GetClientRect(WndHandle,Rt); DrawText(DC,'Hello,Windows 2000!',-1,RT,DT_SINGLELINE or DT_CENTER or DT_VCENTER); EndPaint(WndHandle,PS); end; WM_DESTROY: PostQuitMessage(0); else Result:=DefWindowProc(Handle,Msg,wPar,lPar); end; end;
begin with WndClass do begin Style:=CS_HREDRAW or CS_VREDRAW; lpfnWndProc:=@WndProc; cbClsExtra:=0; cbWndExtra:=0; hInstance:=hInstance; hIcon:=LoadIcon(0,IDI_APPLICATION); hCursor:=LoadCursor(0,IDC_ARROW); hbrBackground:=HBRUSH(GetStockObject(WHITE_BRUSH)); lpszMenuName:=nil; lpszClassName:=szAppName; end; if RegisterClass(WndClass)=0 then begin MessageBox(0,'This program requires Windows NT!',szAppName,MB_ICONERROR); Exit; end; WndHandle:=CreateWindow(szAppName,'The Hello Program',WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT, 0,0,hInstance,nil); ShowWindow(WndHandle,SW_SHOWNORMAL); UpdateWindow(WndHandle); while GetMessage(Msg,0,0,0) do begin TranslateMessage(Msg); DispatchMessage(Msg); end; end.