#include"stdafx.h"
#include"resource.h"
#defineBUTTON_ID 100
LRESULTCALLBACKWindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam);
int API ENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTRlp CmdLine,int nCmdShow)
{
WNDCLASSEX wc;
wc.cbSize=sizeof(wc);
wc.style=0;
wc.lpfnWndProc=WindowProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON));
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName=NULL;
wc.lpszClassName=_T("MyWndName");
wc.hIconSm=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON));
if(!RegisterClassEx(&wc))
{
return-1;
}
HWND hMainWnd;
hMainWnd=CreateWindowEx(0,
_T("MyWndName"),
_T("MyTestWindow"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU)),
hInstance,
NULL);
if(!hMainWnd)
{
UnregisterClass(_T("MyWndName"),hInstance);
return-2;
}
ShowWindow(hMainWnd,nCmdShow);
UpdateWindow(hMainWnd);
MSGmsg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam)
{
LRESULT lResult;
HWND hButton;
switch(uMsg)
{
case WM_CREATE:
hButton=CreateWindow("BUTTON",
"Click",
WS_CHILD,
20,
20,
100,
35,
hwnd,
(HMENU)BUTTON_ID,
0,
NULL);
if(hButton)
{
ShowWindow(hButton,SW_SHOW);
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case ID_FILE_NEW:
break;
case ID_FILE_OPEN:
break;
case ID_FILE_CLOSE:
break;
case ID_APP_EXIT:
PostMessage(hwnd,WM_CLOSE,0,0);
break;
case ID_APP_ABOUT:
break;
case BUTTON_ID:
MessageBox(hwnd,"ButtonClicked","Notify",MB_OK);
}
break;
case WM_CLOSE:
if(IDOK==MessageBox(hwnd,_T("Areyousure?"),_T("Quit"),MB_OKCANCEL|MB_ICONQUESTION))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
lResult=DefWindowProc(hwnd,uMsg,wParam,lParam);
break;
}
return lResult;
}