64,650
社区成员
发帖
与我相关
我的任务
分享
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HDC hdc;
HINSTANCE hinstance;
LPRECT lprect;
WNDCLASS wndclass;
HWND hwndgame;
switch (message)
{
case WM_CREATE:
MoveWindow(hWnd,0,0,800,400,TRUE);
//GetClientRect(hWnd,lprect);
//MessageBox(0,0,0,0);
hinstance=(HINSTANCE)GetWindowLong(hWnd,GWL_HINSTANCE);
//子窗口类
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hCursor=0;
wndclass.hIcon=0;
wndclass.hInstance=hinstance;//???????
wndclass.lpfnWndProc=wndproc1;//处理函数定义在下面
wndclass.lpszClassName=TEXT("game");
wndclass.lpszMenuName=0;
wndclass.style=CS_HREDRAW;
if(RegisterClass(&wndclass))MessageBox(0,TEXT("子窗口注册"),0,0);
hwndgame= CreateWindow(TEXT("game"),NULL,WS_CHILDWINDOW,
0,0,600,400,
hWnd,0,hinstance,0);
//ShowWindow(hwndgame,SW_SHOW);
break;
case WM_COMMAND:
....}
#include <windows.h>
LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int iCmdShow)
{
TCHAR szname[]=TEXT("classname");
HWND hwnd;
MSG msg;
ZeroMemory(&msg,sizeof(msg));
WNDCLASS wndclass;
wndclass.style=CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc=WinProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hInstance=hInstance; wndclass.lpszClassName=szname;
wndclass.lpszMenuName=NULL;
RegisterClass(&wndclass);
hwnd=CreateWindow(szname,TEXT("windowsnametest"),WS_OVERLAPPEDWINDOW ,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
if(hwnd)
ShowWindow(hwnd,SW_SHOW);
else
{
MessageBox(NULL,TEXT("创建窗口失败!"),TEXT("提示"),MB_OK);
UnregisterClass(szname,hInstance);
return 1;
}
UpdateWindow(hwnd);
while(GetMessage(&msg,hwnd,0,0)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
UnregisterClass(szname,hInstance);
return msg.wParam;
}
LRESULT CALLBACK WinProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_CLOSE:
DestroyWindow(hwnd);
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}