#include "windows.h"
#include "resource.h"
#include "deng.h"
#include "mmsystem.h"
#pragma comment(lib,"WINMM.LIB")
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HDC hdcmem;
HBITMAP hBm;
BITMAP bm;
HMENU hMenu,hAddMenu;
deng draw;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow)
{
HWND hWnd;
MSG Msg;
static char lpszClassName[]="窗口";
char lpszTitle[]="黄旭窗口";
WNDCLASS WndClass;
WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(0,0,255));
WndClass.hCursor=LoadCursor(NULL,IDC_CROSS);
WndClass.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_HUANG));
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=WndProc;
WndClass.lpszClassName=lpszClassName;
WndClass.lpszMenuName=MAKEINTRESOURCE(IDR_HUANGMENU);
WndClass.style=CS_DBLCLKS;
if(!RegisterClass(&WndClass))
{
MessageBeep(0);
return FALSE;
}
hWnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW|WS_VSCROLL|WS_HSCROLL,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);
hBm=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_MYLOVE));
GetObject(hBm,sizeof(BITMAP),(LPVOID)&bm);
ShowWindow(hWnd,nCmdShow);
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)
{
HDC hDC;
RECT rect;
GetClientRect(hWnd,&rect);
int w=rect.right-rect.left;
int h=rect.bottom-rect.top;
PAINTSTRUCT ps;
switch(message)
{
case WM_CREATE:
hDC=GetDC(hWnd);
hdcmem=CreateCompatibleDC(hDC);
ReleaseDC(hWnd,hDC);
sndPlaySound("234.wav",SND_ASYNC);
break;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
SelectObject(hdcmem,hBm);
BitBlt(hDC,0,0,w,h,hdcmem,0,0,SRCCOPY);
EndPaint(hWnd,&ps);
break;
case WM_COMMAND:
hMenu=GetMenu(hWnd);
hAddMenu=CreateMenu();
switch(LOWORD(wParam))
{
case IDM_ADD:
AppendMenu(hAddMenu,MF_ENABLED,IDM_CIRCLE,"圆(&C)");
InsertMenu(hMenu,1,MF_POPUP|MF_BYPOSITION,(UINT)hAddMenu,"绘图(&H)");
DrawMenuBar(hWnd);
break;
case IDM_WELCOME:
MessageBox(hWnd,"欢迎使用本公司产品","温馨提示",MB_OK);
break;
case IDM_DELETE:
DeleteMenu(hMenu,1,MF_BYPOSITION);
DrawMenuBar(hWnd);
break;
case IDM_CIRCLE:
hDC=GetDC(hWnd);
draw.draw(hDC,hWnd);
ReleaseDC(hWnd,hDC);
break;
default:
break;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,message,wParam,lParam);
}
return 0;
}