只有代码:
#include <windows.h>
HINSTANCE hinst;
LRESULT CALLBACK MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
break;
case WM_LBUTTONDOWN:
MessageBox(hWnd, L"ONDragon", L"ONDragon", MB_OK);
break;
default:
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int lpCmdShow)
{
//定义窗口类
WNDCLASSEX wcx;
hinst = hInstance;
MSG msg;
BOOL getMessage;
wcx.lpszClassName = L"MainClass";
wcx.cbSize = sizeof(wcx);
wcx.style = CS_HREDRAW | CS_VREDRAW;
wcx.hInstance = hinst;
wcx.lpfnWndProc = MainWndProc;
wcx.cbClsExtra = 0;
wcx.cbWndExtra = 0;
wcx.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcx.hCursor = LoadCursor(NULL, IDC_ARROW);
wcx.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wcx.lpszMenuName = NULL;
wcx.hIconSm = (HICON)LoadImage( hInstance,
MAKEINTRESOURCE(5),
IMAGE_ICON,
GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON),
LR_DEFAULTCOLOR);
//注册窗口类
if (!RegisterClassEx(&wcx))
{
return 0;
}
//使用窗口类创建窗口
HWND hWnd = CreateWindow( L"MainClass",
L"ONDragon",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hinst,
NULL);
if (!hWnd)
{
return 0;
}
//显示窗口
ShowWindow(hWnd,lpCmdShow);
//立即显示窗口
UpdateWindow(hWnd);
while ( 0 != (getMessage = GetMessage(&msg,NULL,0,0)))
{
//传递个回调函数MainProc
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
通过资源方式:
#include <windows.h>
#include "resource.h"
INT_PTR CALLBACK MainProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
BOOL ret = TRUE;
switch (uMsg)
{
case WM_CLOSE:
EndDialog(hDlg, 0);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_LBUTTONDOWN:
MessageBox(hDlg, L"ONDragon", L"ONDragon", MB_OK);
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_BUTTON1:
MessageBox(hDlg, L"ONDragon", L"ONDragon", MB_OK);
break;
default:
break;
}
default:
return DefWindowProc(hDlg, uMsg, wParam, lParam);
}
return ret;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, MainProc);
return 0;
}