#include "c_WinGuiApp.h" /* -------------------------------------------------------------------------------------------------------------- */ /* */ #define MAIN_WINDOW_CLASSNAME "c_WinGuiApp_Main" /* -------------------------------------------------------------------------------------------------------------- */ /* */ static void MainWindow_OnDestroy(HWND hwnd){ PostQuitMessage(0); } static void MainWindow_OnPaint(HWND hwnd){ PAINTSTRUCT PaintStruct; HDC hdc = BeginPaint(hwnd, &PaintStruct); TextOutA(hdc, 10, 10, "Hello", 5); EndPaint(hwnd, &PaintStruct); } /* -------------------------------------------------------------------------------------------------------------- */ /* */ c_WinGuiApp_EventBegin(WndProc) c_WinGuiApp_OnEvent(WM_DESTROY, MainWindow_OnDestroy) c_WinGuiApp_OnEvent(WM_PAINT, MainWindow_OnPaint) c_WinGuiApp_EventEnd /* -------------------------------------------------------------------------------------------------------------- */ /* */ static bool Register(HINSTANCE hInstance){ WNDCLASS WndClass; WndClass.lpszClassName = MAIN_WINDOW_CLASSNAME; WndClass.style = CS_HREDRAW | CS_VREDRAW; WndClass.cbWndExtra = 0; WndClass.cbClsExtra = 0; WndClass.hInstance = hInstance; WndClass.lpfnWndProc = WndProc; WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION); WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); WndClass.lpszMenuName = NULL; return (RegisterClass(&WndClass)!=0); } static HWND Create(HINSTANCE hInstance, int nCmdShow){ HWND hWindow = CreateWindowEx(0, MAIN_WINDOW_CLASSNAME, MAIN_WINDOW_CLASSNAME, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if(!hWindow) return NULL; c_WinGuiApp.hMainWindow = hWindow; ShowWindow(hWindow, nCmdShow); UpdateWindow(hWindow); return hWindow; } /* -------------------------------------------------------------------------------------------------------------- */ /* */ c_WinGuiApp_Main(Register, Create)