菜鸟请教MFC问题,简单到不行,可是菜鸟不会,麻烦指点
这是我的一个新学的课程mfc,一节课什么都没有讲直接让做三个窗口。要求第一个窗口没有系统菜单(就是右键后出来的那个菜单),第二个窗口,去掉最小化,然后右键能够发送一个messagebox。怎么改正都没有成功。我一个初学者,查那些函数,都不知道怎么查。看了,仿照着也做了,可是还是不成功,总有些问题。请各位指点一下吧。
代码如下:
#include <windows.h>
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE PreInstance,LPSTR lpCmdLine,int nCmdShow)
{
HWND hwnd1;
HWND hwnd2;
HWND hwnd3;
MSG msg;
char lpszClassName1[]="窗口 1";
WNDCLASS wc1;
wc1.style&=~WS_SYSMENU;
wc1.lpfnWndProc=WndProc;
wc1.cbClsExtra=0;
wc1.cbWndExtra=0;
wc1.hInstance=hInstance;
wc1.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc1.hCursor=LoadCursor(NULL,IDC_ARROW);
wc1.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc1.lpszMenuName=NULL;
wc1.lpszClassName=lpszClassName1;
RegisterClass(&wc1);
char lpszClassName2[]="窗口 2";
WNDCLASS wc2;
wc2.style =0;
wc2.lpfnWndProc=WndProc;
wc2.cbClsExtra=0;
wc2.cbWndExtra=0;
wc2.hInstance=hInstance;
wc2.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc2.hCursor=LoadCursor(NULL,IDC_ARROW);
wc2.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);
wc2.lpszMenuName=NULL;
wc2.lpszClassName=lpszClassName2;
RegisterClass(&wc2);
hwnd1=CreateWindow(lpszClassName1,"Windows1",WS_OVERLAPPEDWINDOW,120,50,700,500,NULL,NULL,hInstance,NULL);
hwnd2=CreateWindow(lpszClassName2,"Windows2",WS_OVERLAPPEDWINDOW,150,80,750,550,NULL,NULL,hInstance,NULL);
hwnd3=CreateWindow(lpszClassName1,"Windows3",WS_OVERLAPPEDWINDOW,200,130,500,300,NULL,NULL,hInstance,NULL);
ShowWindow(hwnd1,nCmdShow);
UpdateWindow(hwnd1);
ShowWindow(hwnd2,nCmdShow);
UpdateWindow(hwnd2);
ShowWindow(hwnd3,nCmdShow);
UpdateWindow(hwnd3);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_LBUTTONDOWN:
MessageBeep(0);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}