当前位置:编程学习 > VC++ >>

帮忙看看我这代码有什么问题(VC++ API)

#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include "e_8_1.h"
HWND hwndPush;
HINSTANCE hInst;
char lpszclassName1[]="BUTTON实例";
int nCheckBoxSt;

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain( HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int

nShowCmd)
{
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
char lpszclassName[]="窗口";
char lpszTitle[]="字窗口按钮实例";
wndclass.style=CS_HREDRAW|CS_HREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbWndExtra=0;
wndclass.cbClsExtra=0;
wndclass.hInstance=hInstance;
wndclass.hIcon=LoadIcon(NULL,IDI_ASTERISK);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=lpszclassName;

if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return false;
}
hwnd=CreateWindow(lpszclassName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
200,150,600,450,
NULL,NULL,hInstance,NULL);
hInst=hInstance;
ShowWindow(hwnd,nShowCmd);
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)
{
int X=50,Y=30;
switch (message)
{
case WM_CREATE:
hwndPush=CreateWindow(
lpszclassName1,
"This is a button,push me,please!",
BS_PUSHBUTTON|WS_CHILD|WS_VISIBLE,
X,Y,240,50,
hwnd,(HMENU)IDB_PUSHBUTTON,hInst,NULL);
break;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDB_PUSHBUTTON:
SetWindowText(hwndPush,"You have already pressed the button");
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}

为什么我这程序运行时只出现一个窗口啊,窗口里面什么都没,没有我要创建的按钮控件,编译连接时都没错。
是不是我创建这些子窗口控件哪里写错了?
代码是我照书上敲的,高手们帮我看看吧,谢谢!!
补充://e_8_1.h
#define IDB_PUSHBUTTON 10
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,