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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
#include <windows.h>
#include "resource.h"
HINSTANCE hInst;
HWND hWndMain, hWndIntro, hWndInputOneName, hWndInputTwoNames, hWndSinglePlayer, hWndMultiplayer;
LRESULT CALLBACK DlgMainProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT("Checker1");
//HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = DlgMainProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
if (!RegisterClass(&wndclass))
{
MessageBox(NULL, TEXT("Program requires Windows NT!"),
szAppName, MB_ICONERROR);
return 0;
}
//hInst = hInstance;
hWndMain = CreateWindow(szAppName, TEXT("Checker1 Mouse Hit-Test Demo"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
300, 300,
NULL, NULL, hInstance, NULL);
ShowWindow(hWndMain, SW_SHOW);
/*while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;*/
/*if (!hWndMain)
{
return (FALSE);
}*/
while (GetMessage(&msg, NULL, 0, 0))
{
if (!msg.hwnd || !IsDialogMessage(msg.hwnd, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return 0;
}
LRESULT CALLBACK DlgMainProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
static int cxBlock, cyBlock;
TCHAR szBuffer[64];
int iLength;
HDC hdc;
PAINTSTRUCT ps;
RECT rctMain;
//int id = GetWindowLong(hWndIntro, GWL_ID);
switch (Msg)
{
//case WM_INITDIALOG:
//SetFocus(hWndIntro);
//SetParent(hWnd, hWndIntro);
//ShowWindow(hWnd, SW_SHOW);
//ShowWindow(hWndIntro, SW_SHOW);
//return 0;
case WM_SIZE:
cxBlock = LOWORD(lParam);
cyBlock = HIWORD(lParam);
//GetClientRect(hwndMain, &rctMain);
/*SetWindowPos(hWndIntro,
HWND_TOP,
0,
0,
cxBlock,
cyBlock,
SWP_NOACTIVATE | SWP_NOOWNERZORDER);*/
return 0;
case WM_CREATE:
hWndIntro = CreateDialog(hInst, MAKEINTRESOURCE(IDD_INTRO), hWndMain, reinterpret_cast<DLGPROC>(DlgMainProc));
ShowWindow(hWndIntro, SW_SHOW);
//ShowWindow(hWndMain, SW_SHOW);
//SetFocus(hWnd);
//UpdateWindow(hWnd);
//SetParent(hWnd, hWndMain);
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDCANCEL:
EndDialog(hWnd, 0);
return 0;
}
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
iLength = wsprintf(szBuffer, TEXT("x: %d;y: %d"), cxBlock, cyBlock);
TextOut(hdc, 0, 0, szBuffer, iLength);
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, Msg, wParam, lParam);
}
//return DefWindowProc(hWnd, Msg, wParam, lParam);
return 0;
}
|