Code:
#include <windows.h>
#include "resource.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
BOOL CALLBACK NewTournyProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE hInst;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int nCmdShow)
{
static TCHAR szAppName[] = TEXT("Tournament");
MSG msg;
HWND hwnd;
WNDCLASS wcl;
hInst = hInstance;
wcl.style = CS_HREDRAW | CS_VREDRAW;
wcl.lpfnWndProc = WndProc;
wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
wcl.hInstance = hInstance;
wcl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcl.hCursor = LoadCursor(NULL, IDC_ARROW);
wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
wcl.lpszMenuName = "Tournament";
wcl.lpszClassName = szAppName;
if(!RegisterClass(&wcl))
{
MessageBox(NULL, "Couldn't register class...", "Error!", MB_OK);
return 0;
}
hwnd = CreateWindow(szAppName, TEXT("Tournament"),
WS_OVERLAPPEDWINDOW,
GetSystemMetrics(SM_CXSCREEN)/4, GetSystemMetrics(SM_CYSCREEN)/4,
GetSystemMetrics(SM_CXSCREEN)/2, GetSystemMetrics(SM_CYSCREEN)/2,
NULL, NULL, hInst, NULL);
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hwndPlayer;
static HINSTANCE hInstance;
switch(message)
{
case WM_CREATE:
hInstance = ((LPCREATESTRUCT) lParam)->hInstance;
return 0;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDM_NEW: // new tourny selected
DialogBox(hInstance, TEXT("NewTourny"), hwnd, NewTournyProc);
return 0;
case IDM_EXIT: // exit menu selected
PostQuitMessage(0);
return 0;
}
return 0;
case WM_PAINT:
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
break;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
BOOL CALLBACK NewTournyProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_INITDIALOG:
return TRUE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
EndDialog(hDlg, 0);
}
return TRUE;
}
return FALSE;
}
-stallion