文字输出
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
#include "c_WinGuiApp.h"
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------------------------------------------- */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
#define MAIN_WINDOW_CLASSNAME "EasyText"
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------------------------------------------- */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
#define DIRECTION_SIZE 100
|
||||||
|
|
||||||
|
static char Directions[DIRECTION_SIZE];
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------------------------------------------- */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
static BOOL MainWindow_OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct){
|
||||||
|
char* msg = "Try resizing this window.";
|
||||||
|
strcpy(Directions, msg);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void MainWindow_OnDestroy(HWND hwnd){
|
||||||
|
PostQuitMessage(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void MainWindow_OnPaint(HWND hwnd){
|
||||||
|
PAINTSTRUCT PaintStruct;
|
||||||
|
RECT Rect;
|
||||||
|
HDC hdc = BeginPaint(hwnd, &PaintStruct);
|
||||||
|
SetBkMode(hdc, TRANSPARENT);
|
||||||
|
TextOut(hdc, 10, 10, Directions, lstrlen(Directions));
|
||||||
|
GetClientRect(hwnd, &Rect);
|
||||||
|
DrawText(hdc, "The middle of the road", -1, &Rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
|
||||||
|
EndPaint(hwnd, &PaintStruct);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------------------------------------------------------- */
|
||||||
|
/* */
|
||||||
|
|
||||||
|
c_WinGuiApp_EventBegin(WndProc)
|
||||||
|
c_WinGuiApp_OnEvent(WM_CREATE, MainWindow_OnCreate)
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
@@ -73,6 +73,7 @@ extern c_WinGuiApp_t c_WinGuiApp;
|
|||||||
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow){ \
|
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow){ \
|
||||||
MSG Msg; \
|
MSG Msg; \
|
||||||
if(!hPrevInstance){ \
|
if(!hPrevInstance){ \
|
||||||
|
c_WinGuiApp.hInstance = hInstance; \
|
||||||
if(!fRegister(hInstance)){ \
|
if(!fRegister(hInstance)){ \
|
||||||
return FALSE; \
|
return FALSE; \
|
||||||
} \
|
} \
|
||||||
|
|||||||
Reference in New Issue
Block a user