1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
| //---------------------------------------------------------------------------
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
LRESULT CALLBACK HelloWorldWndProc(HWND,UINT,UINT,LONG);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
HWND hWnd;
WNDCLASS WndClass;
MSG Msg;
char szClassName[]="HelloWorld";
WndClass.style=CS_HREDRAW|CS_VREDRAW;
WndClass.lpfnWndProc=HelloWorldWndProc;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hInstance=hInstance;
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.lpszMenuName=NULL;
WndClass.lpszClassName=szClassName;
if(!RegisterClass(&WndClass))
{
MessageBox(NULL,"Cannot register class","Error",MB_OK);
return 0;
}
hWnd = CreateWindow(szClassName,"Program No 1",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
NULL,NULL,
hInstance,NULL);
if(!hWnd)
{
MessageBox(NULL,"Cannot createwindows","Error",MB_OK);
return 0;
}
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK HelloWorldWndProc(HWND hWnd,UINT Message,
UINT wParam,LONG lParam)
{
HDC hDC;
PAINTSTRUCT PaintStruct;
RECT Rect;
switch(Message)
{
case WM_PAINT:hDC=BeginPaint(hWnd,&PaintStruct);
GetClientRect(hWnd,&Rect);
DrawText(hDC,"Hello, World",-1,&Rect,
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
EndPaint(hWnd,&PaintStruct);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd,Message,wParam,lParam);
} |