代码:
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include<tchar.h>
#include"kuang.h"
long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HINSTANCE hInstance;
HWND hWnd;
int nCheckBoxSt;
HWND hwndPush,hwndDefPush,hwndRadio,hwndAutoRadio,hwndCheckBox,hwndAutoCheckBox,hwndGroupBox;int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG Message; if (! InitWindowsClass(hInstance))
return FALSE;
if (! InitWindows(hInstance,nCmdShow))
return FALSE;
while (GetMessage(&Message, 0, 0, 0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
} return Message.wParam;
} long WINAPI WndProc( HWND hWnd,
UINT iMessage,
WPARAM wParam,
LPARAM lParam)
{ int X=50,Y=30;switch (iMessage) {
case WM_CREATE:
hwndPush=CreateWindow(_T("button"),_T("这里是一个按钮,按我吧!"),BS_PUSHBUTTON|WS_CHILD|WS_VISIBLE,
X,Y,
240,25,
hWnd,
(HMENU)IDB_DEFPUSHBUTTON,
hInstance,
NULL);
hwndDefPush=CreateWindow(_T("BUTTON"),_T("这是默认按钮,按下试试看!"),BS_DEFPUSHBUTTON|WS_CHILD|WS_VISIBLE,
X,Y+30,
240,25,
hWnd,
(HMENU)IDB_DEFPUSHBUTTON,
hInstance,
NULL);
hwndRadio=CreateWindow(_T("BUTTON"),
_T("单选按钮,你喜欢吗?"),
BS_RADIOBUTTON|WS_CHILD|WS_VISIBLE,
X,Y+60,
240,25,
hWnd,
(HMENU)IDB_RADIOBUTTON,
hInstance,
NULL);
hwndAutoRadio=CreateWindow(_T("BUTTON"),
_T("自动圆形按钮,看看有何区别?"),
BS_AUTORADIOBUTTON|WS_CHILD|WS_VISIBLE,
X,Y+90,
240,25,
hWnd,
(HMENU)IDB_AUTORADIOBUTTON,
hInstance,
NULL);
hwndCheckBox=CreateWindow(_T("BUTTON"),
_T("复选框"),
BS_CHECKBOX|WS_CHILD|WS_VISIBLE,
X,Y+20,
240,25,
hWnd,
(HMENU)IDB_CHECKBOX,
hInstance,
NULL);
hwndAutoCheckBox=CreateWindow(_T("BUTTON"),_T("自动复选框,你会用吗?"),
BS_AUTOCHECKBOX|WS_CHILD|WS_VISIBLE,
X,Y+150,
240,25,
hWnd,
(HMENU)IDB_AUTOCHECKBOX,
hInstance,
NULL);
hwndGroupBox=CreateWindow(_T("BUTTON"),_T("组框"),BS_GROUPBOX|WS_CHILD|WS_VISIBLE,
X+290,Y+30,
100,140,
hWnd,
(HMENU)IDB_GROUPBOX,
hInstance,
NULL);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDB_PUSHBUTTON:
SetWindowText(hwndPush,_T("你已按下了按钮!"));
break;
case IDB_DEFPUSHBUTTON:
SetWindowText(hwndDefPush,_T("按钮已被按下"));
break;
case IDB_RADIOBUTTON:
SendMessage(hwndRadio,BM_SETCHECK,1,0);
break; case IDB_AUTORADIOBUTTON:
break;
}
break;
case IDB_CHECKBOX:
if(nCheckBoxSt==0)
{
SendMessage(hwndCheckBox,BM_SETCHECK,1,0);
nCheckBoxSt=1;
}
else
{
SendMessage(hwndCheckBox,BM_SETCHECK,0,0);
nCheckBoxSt=0;
}
break;
case IDB_AUTOCHECKBOX:
break;
case IDB_GROUPBOX:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;default:
return (DefWindowProc(hWnd, iMessage, wParam, lParam));
} return 0;
} BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)
{
hWnd = CreateWindow(
_T("控件"),
_T("菜单显示实例程序 "),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if (! hWnd)
return FALSE;ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd); return TRUE;
} BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.hInstance=hInstance;
WndClass.style = 0;
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.lpfnWndProc = WndProc;
WndClass.lpszClassName = _T( "控件");
WndClass.lpszMenuName = NULL;
return RegisterClass(&WndClass);
}
问题:窗口 不能关闭???WHY
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include<tchar.h>
#include"kuang.h"
long WINAPI WndProc(HWND hWnd, UINT iMessage, UINT wParam, LONG lParam);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HINSTANCE hInstance;
HWND hWnd;
int nCheckBoxSt;
HWND hwndPush,hwndDefPush,hwndRadio,hwndAutoRadio,hwndCheckBox,hwndAutoCheckBox,hwndGroupBox;int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG Message; if (! InitWindowsClass(hInstance))
return FALSE;
if (! InitWindows(hInstance,nCmdShow))
return FALSE;
while (GetMessage(&Message, 0, 0, 0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
} return Message.wParam;
} long WINAPI WndProc( HWND hWnd,
UINT iMessage,
WPARAM wParam,
LPARAM lParam)
{ int X=50,Y=30;switch (iMessage) {
case WM_CREATE:
hwndPush=CreateWindow(_T("button"),_T("这里是一个按钮,按我吧!"),BS_PUSHBUTTON|WS_CHILD|WS_VISIBLE,
X,Y,
240,25,
hWnd,
(HMENU)IDB_DEFPUSHBUTTON,
hInstance,
NULL);
hwndDefPush=CreateWindow(_T("BUTTON"),_T("这是默认按钮,按下试试看!"),BS_DEFPUSHBUTTON|WS_CHILD|WS_VISIBLE,
X,Y+30,
240,25,
hWnd,
(HMENU)IDB_DEFPUSHBUTTON,
hInstance,
NULL);
hwndRadio=CreateWindow(_T("BUTTON"),
_T("单选按钮,你喜欢吗?"),
BS_RADIOBUTTON|WS_CHILD|WS_VISIBLE,
X,Y+60,
240,25,
hWnd,
(HMENU)IDB_RADIOBUTTON,
hInstance,
NULL);
hwndAutoRadio=CreateWindow(_T("BUTTON"),
_T("自动圆形按钮,看看有何区别?"),
BS_AUTORADIOBUTTON|WS_CHILD|WS_VISIBLE,
X,Y+90,
240,25,
hWnd,
(HMENU)IDB_AUTORADIOBUTTON,
hInstance,
NULL);
hwndCheckBox=CreateWindow(_T("BUTTON"),
_T("复选框"),
BS_CHECKBOX|WS_CHILD|WS_VISIBLE,
X,Y+20,
240,25,
hWnd,
(HMENU)IDB_CHECKBOX,
hInstance,
NULL);
hwndAutoCheckBox=CreateWindow(_T("BUTTON"),_T("自动复选框,你会用吗?"),
BS_AUTOCHECKBOX|WS_CHILD|WS_VISIBLE,
X,Y+150,
240,25,
hWnd,
(HMENU)IDB_AUTOCHECKBOX,
hInstance,
NULL);
hwndGroupBox=CreateWindow(_T("BUTTON"),_T("组框"),BS_GROUPBOX|WS_CHILD|WS_VISIBLE,
X+290,Y+30,
100,140,
hWnd,
(HMENU)IDB_GROUPBOX,
hInstance,
NULL);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDB_PUSHBUTTON:
SetWindowText(hwndPush,_T("你已按下了按钮!"));
break;
case IDB_DEFPUSHBUTTON:
SetWindowText(hwndDefPush,_T("按钮已被按下"));
break;
case IDB_RADIOBUTTON:
SendMessage(hwndRadio,BM_SETCHECK,1,0);
break; case IDB_AUTORADIOBUTTON:
break;
}
break;
case IDB_CHECKBOX:
if(nCheckBoxSt==0)
{
SendMessage(hwndCheckBox,BM_SETCHECK,1,0);
nCheckBoxSt=1;
}
else
{
SendMessage(hwndCheckBox,BM_SETCHECK,0,0);
nCheckBoxSt=0;
}
break;
case IDB_AUTOCHECKBOX:
break;
case IDB_GROUPBOX:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;default:
return (DefWindowProc(hWnd, iMessage, wParam, lParam));
} return 0;
} BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)
{
hWnd = CreateWindow(
_T("控件"),
_T("菜单显示实例程序 "),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if (! hWnd)
return FALSE;ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd); return TRUE;
} BOOL InitWindowsClass(HINSTANCE hInstance)
{
WNDCLASS WndClass;
WndClass.hInstance=hInstance;
WndClass.style = 0;
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.lpfnWndProc = WndProc;
WndClass.lpszClassName = _T( "控件");
WndClass.lpszMenuName = NULL;
return RegisterClass(&WndClass);
}
问题:窗口 不能关闭???WHY
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货