代码如下:----------------------------------------------------------------
#include <windows.h>LRESULT CALLBACK WndProc(HWND hwnd,
 UINT message,
 WPARAM wParam,
 LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance,
   HINSTANCE hPrevInstance,
   LPSTR lpCmdLine,
   int nShowCmd)
{
WNDCLASS wndclass;
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.lpfnWndProc = WndProc;
wndclass.lpszClassName = "Counter";
wndclass.lpszMenuName = NULL;
wndclass.style = CS_HREDRAW | CS_VREDRAW; RegisterClass(&wndclass);
HWND hwnd;
hwnd = CreateWindow(
"Counter",
"计算器",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd); MSG msg;
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 HndButton;
static HINSTANCE hInstance; switch(message)
{
case WM_CREATE:
HndButton = CreateWindow(
"Counter",
"0",
WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON,
10,
10,
40,
30,
hwnd,
(HMENU)1001,
((LPCREATESTRUCT)lParam)->hInstance,
NULL);
break;
case WM_CLOSE:
if(IDYES == MessageBox(hwnd,"really exit?","exit",MB_YESNO))
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd,message,wParam,lParam);
}
-----------------------------------------------------
为什么产生的程序只是一片空白呢?
看不到按钮!

解决方案 »

  1.   

    我知道是哪的问题了,
    子窗口的类名必须为"button"。
    但是怎么实现消息映射呢?就是我按下一个按钮怎样才能使它在窗口中产生一个数字呢?
      

  2.   

    好像是说为每个子窗口单独创建一个过程函数WndProc
    但是具体要怎么实现呢?
      

  3.   

    在WM_CREATE里面CreateWindow("Counter"...),
    而这个类的WndProc又就是你的这个函数,所以程序一直在递归调用:(
      

  4.   

    建立子窗口的问题我已经解决了 现在的问题是我要怎么实现按下一个按钮产生一个消息呢?
    比如按下后弹出一个MessageBox
      

  5.   

    我不是想知道怎么响应command
    而是我不知道主窗口的WndProc和子窗口的ButtonProc之间应该怎样才能联系