Created
August 26, 2022 17:58
-
-
Save usvi/b39713e270f1f75880698baacd1774b4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <windows.h> | |
LRESULT CALLBACK HelloWndProc (HWND, UINT, WPARAM, LPARAM); | |
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, | |
PSTR szCMLine, int iCmdShow) | |
{ | |
static TCHAR szAppName[] = TEXT ("HelloApplication"); | |
HWND hwnd,hwnd2; | |
MSG msg; | |
WNDCLASS wndclass; | |
wndclass.style = CS_HREDRAW | CS_VREDRAW; | |
wndclass.lpfnWndProc = HelloWndProc; | |
wndclass.cbClsExtra = 0; | |
wndclass.cbWndExtra = sizeof(long); | |
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 = szAppName; | |
if (!RegisterClass (&wndclass)) | |
{ | |
MessageBox (NULL, TEXT ("This program requires Windows 95/98/NT"), | |
szAppName, MB_ICONERROR); | |
return 0; | |
} | |
hwnd = CreateWindow(szAppName, | |
TEXT("Hello World for Windows"), | |
WS_OVERLAPPEDWINDOW, | |
CW_USEDEFAULT, | |
CW_USEDEFAULT, | |
400, | |
400, | |
NULL, | |
NULL, | |
hInstance, | |
NULL); | |
ShowWindow(hwnd, iCmdShow); | |
UpdateWindow(hwnd); | |
hwnd2 = CreateWindow(szAppName, | |
TEXT("Hello World"), | |
WS_CHILD | WS_VISIBLE | WS_VSCROLL, | |
CW_USEDEFAULT, | |
CW_USEDEFAULT, | |
300, | |
300, | |
hwnd, | |
NULL, | |
hInstance, | |
NULL); | |
ShowWindow(hwnd2, iCmdShow); | |
UpdateWindow(hwnd2); | |
while (GetMessage(&msg, NULL, 0, 0)){ | |
TranslateMessage(&msg); | |
DispatchMessage(&msg); | |
} | |
return msg.wParam; | |
} | |
LRESULT CALLBACK HelloWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) | |
{ | |
HDC hdc; | |
PAINTSTRUCT ps; | |
RECT rect; | |
switch (message) | |
{ | |
case WM_CREATE: | |
return 0; | |
case WM_PAINT: | |
hdc = BeginPaint(hwnd, &ps); | |
GetClientRect(hwnd, &rect); | |
EndPaint(hwnd, &ps); | |
return 0; | |
case WM_DESTROY: | |
PostQuitMessage(0); | |
return 0; | |
} | |
return DefWindowProc(hwnd, message, wParam, lParam); | |
} | |
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) | |
{ | |
HDC hdc; | |
PAINTSTRUCT ps; | |
RECT rect; | |
switch (message){ | |
case WM_CREATE: | |
return 0; | |
case WM_PAINT: | |
hdc = BeginPaint(hwnd, &ps); | |
GetClientRect(hwnd, &rect); | |
DrawText(hdc, TEXT("Hello, Windows"), -1, &rect, | |
DT_SINGLELINE | DT_CENTER | DT_VCENTER); | |
EndPaint(hwnd, &ps); | |
return 0; | |
case WM_DESTROY: | |
PostQuitMessage(0); | |
return 0; | |
} | |
return DefWindowProc(hwnd, message, wParam, lParam); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment