📄 朱瑞菜单操作.cpp
字号:
#include "windows.h"
#include"math.h"
#include "resource.h"
#include"vfw.h"
#include "mmsystem.h" //------------------------------
#pragma comment (lib,"WINMM.LIB") //------------------加载播放背景音乐的库文件;
//#include"samaction.h"
HMENU hmenu,haddmenu;
int flag=0;
int xian=0;
int xian2=0;
int ireturn;
int loop=1;
//long m,n;
double yuan2_x=0, yuan2_y=0;
double yuan1_x=0,yuan1_y=0;
long double xielv=0; //定义沿对角线运动时对角线的斜率;
//POINT p;
COLORREF Brushcolor;
COLORREF Bkcolor=RGB(10,63,57); //背景色变量初始化
SYSTEMTIME time; //定义时间变量;
//samaction action;
CHOOSECOLOR cc;
COLORREF crCustColors[16];
typedef struct
{
POINT begin;
POINT end;
int width;
COLORREF color;
int penstyle;
int Kind;
}style;
style Bi;
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
HDC hdcmem; //内存设备环境句柄
HBITMAP hBm; //位图句柄
BITMAP bm; //BITBMP结构
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR lpszCmdLine,int nCmdShow)
{
//void action(void);
HWND hwnd;
MSG Msg;
WNDCLASS wndclass;
//WNDCLASSEX wndclass;
static char lpszClassName[]="窗口";
char lpszTitle[]="sam作业多合一";
wndclass.style=CS_DBLCLKS ;
//wndclass.cbSize=sizeof(wndclass);
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hInstance;
//wndclass.hIcon=LoadIcon(hInstance,IDI_APPLICATION);
wndclass.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));
//wndclass.hIcon=LoadIcon(NULL,MAKEINTRESOURCE(IDI_ICON2));
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
//wndclass.hCursor=LoadCursor(NULL,IDC_IBEAM); //加载相应的光标
//wndclass.hIconSm=LoadIcon(NULL,IDI_APPLICATION);
//wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndclass.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(0,0,0));
wndclass.lpszMenuName=MAKEINTRESOURCE(IDM_MENU);
wndclass.lpszClassName=lpszClassName;
if(!RegisterClass(&wndclass))
{
MessageBeep(0);
return FALSE;
}
hwnd=CreateWindow(lpszClassName,lpszTitle,WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL
,CW_USEDEFAULT,CW_USEDEFAULT,1104,640,NULL,NULL,hInstance,NULL);
//hBm=LoadBitmap(hInstance,"IDB_BITMAP1"); //IDB_BITBMP1
hBm=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_SAM));
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;
HBRUSH hBrush;
HPEN hPen;
PAINTSTRUCT PtStr; //定义指向包含绘图信息的结构体变量
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.hwndOwner = hWnd;
cc.hInstance = NULL;
cc.rgbResult = RGB(0,0,0);
cc.lpCustColors = crCustColors;
cc.Flags = CC_RGBINIT |CC_FULLOPEN;
cc.lCustData = 0;
cc.lpfnHook = NULL;
cc.lpTemplateName = NULL;
switch(message)
{
case WM_PAINT:
hDC=BeginPaint(hWnd,&PtStr);
SelectObject(hdcmem,hBm);
BitBlt(hDC,200,50,10000,10000,hdcmem,0,0,SRCCOPY);
EndPaint(hWnd,&PtStr);
return 0;
break;
case WM_CREATE:
MessageBox(hWnd,"欢迎使用 BY SAM @2008 10 17","欢迎",MB_OK);
hDC=GetDC(hWnd);
hdcmem=CreateCompatibleDC(hDC);
ReleaseDC(hWnd,hDC);
sndPlaySound("开场.wav",SND_ASYNC);
break;
return 0;
//-------------------------------------------case command--------------------------------------------------------------//
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDM_XINJIAN:sndPlaySound("sam.wav",SND_ASYNC|SND_LOOP);
case IDM_QINGKONG:
ireturn=MessageBox(hWnd,"请保存好您的数据,确定清空么?","提示",MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2);
if(ireturn==IDYES)
{
RECT rect;
GetClientRect(hWnd,&rect);
hDC=GetDC(hWnd);
hPen=CreatePen(PS_SOLID,2,RGB(10,63,57));
hBrush=CreateSolidBrush(RGB(10,63,57));
SelectObject(hDC,hBrush);
SelectObject(hDC,hPen);
Rectangle(hDC,0,0,rect.right,rect.bottom);
ReleaseDC(hWnd,hDC);
break;
}
else if(ireturn==IDNO)
return 0;
return 0;
case IDM_DAKAI:
MessageBox(hWnd,"暂不支持打开文件","提示",MB_OK);
break;
case IDM_BAOCUN:
MessageBox(hWnd,"文件太大了,硬盘放不下!","哈哈",MB_OK);
break;
return 0;
case IDM_TUICHU:
ireturn=MessageBox(hWnd,"真的要退出么?","提示",MB_YESNO | MB_ICONQUESTION | MB_DEFBUTTON2);
if(ireturn==IDYES)
{
PostQuitMessage (0);;
}
else if(ireturn==IDNO)
return 0;
return 0;
case IDM_YIBEI:
Bi.width=1;
xian=1;
flag=0;
break;
return 0;
case IDM_WUBEI:
Bi.width=5;
xian=1;
flag=0;
break;
return 0;
case IDM_SHIBEI:
Bi.width=10;
xian=1;
flag=0;
break;
return 0;
case IDM_SHIXIAN:
Bi.penstyle=PS_SOLID;
xian=1;
break;
return 0;
case IDM_XUXIAN:
Bi.penstyle=PS_DASH;
xian=1;
break;
return 0;
case IDM_ZHIXIAN:
// MessageBox(hWnd,"开始画图","信息",MB_OK);
flag=1;
break;
case IDM_SHIXINJUXING:
flag=2;
break;
return 0;
case IDM_SHIXINTUOYUAN:
flag=3;
break;
return 0;
/* case IDM_BINGXING:
flag=4;
break;
return 0;
*/
case IDM_HUABIYANSE:
ChooseColor(&cc);
Bi.color=cc.rgbResult;
break;
return 0;
case IDM_HUASHUAYANSE:
ChooseColor(&cc);
Brushcolor=cc.rgbResult;
break;
return 0;
case IDM_BEIJINGSE:
ireturn=MessageBox(hWnd,"更改背景色会清除所有数据,更改么?","提示",MB_YESNO);
if(ireturn==IDYES)
{
ChooseColor(&cc);
Bkcolor=cc.rgbResult;
RECT rect;
GetClientRect(hWnd,&rect);
hDC=GetDC(hWnd);
hPen=CreatePen(PS_SOLID,2,Bkcolor);
hBrush=CreateSolidBrush(Bkcolor); //设置画刷
SelectObject(hDC,hPen);
SelectObject(hDC,hBrush);
Rectangle(hDC,0,0,rect.right,rect.bottom);
ReleaseDC(hWnd,hDC);
break;
}else
break;
return 0;
case IDM_BANGZHU:
//MessageBox(hWnd,"莫有帮助,自己慢慢摸索吧 O(∩_∩)O 哈哈~","嘿嘿",MB_OK);
ShellExecute(NULL,"open","说明.txt",NULL,NULL,SW_SHOWNORMAL);
break;
return 0;
case IDM_GUANYU:
MessageBox(hWnd,"BY SAM @ 2008 10 16","关于",MB_OK);
ShellExecute(NULL,"open","http://user.qzone.qq.com/381973988",NULL,NULL,SW_SHOWNORMAL);
break;
return 0;
case IDM_XIANGPICA:
flag=4;
break;
return 0;
case IDM_PENGPENGQIU:
flag=5;
MessageBox(hWnd,"背景色和球的填充色均可在颜色菜单中设置,设置好后,单击用户区开始","提示",MB_OK);
break;
return 0;
case IDM_45:
flag=6;
MessageBox(hWnd,"背景色和球的填充色均可在颜色菜单中设置,设置好后,单击用户区开始","提示",MB_OK);
break;
return 0;
case IDM_DUIJIAO:
flag=7;
MessageBox(hWnd,"背景色和球的填充色均可在颜色菜单中设置,设置好后,单击用户区开始","提示",MB_OK);
break;
return 0;
case IDM_KONGXINJUXING:
flag=8;
break;
return 0;
case IDM_KONGXINTUOYUAN:
flag=9;
break;
return 0;
case IDM_JISUANQI:
ShellExecute(NULL, "open", "calc.exe", NULL, NULL, SW_SHOWNORMAL);
break;
return 0;
//-----------------------------------------------最长路径-----------------------------------------------------------------//
case IDM_ZUICHANGLUJING:
{
flag=10;
int i=0,j=0;
hDC=GetDC(hWnd);
hPen=CreatePen(PS_SOLID,Bi.width,RGB(0,0,0));
hBrush=CreateSolidBrush(RGB(0,0,255));//设置画刷
SelectObject(hDC,hPen);
SelectObject(hDC,hBrush);
RECT rect;
GetClientRect(hWnd,&rect);
int x_unit=rect.right/16;
int y_unit=rect.bottom/16;
for(i=1;i<=16;i++)
for(j=1;j<=16;j++)
if((i+j)%2==0)
{
hPen=CreatePen(PS_SOLID,2,RGB(0,255,0));
SelectObject(hDC,hPen);
hBrush=CreateSolidBrush(RGB(0,0,0));
SelectObject(hDC,hBrush);
Rectangle(hDC,(i-1)*x_unit,(j-1)*y_unit,i*x_unit,j*y_unit);
}
else
{
hPen=CreatePen(PS_SOLID,2,RGB(0,255,0));
SelectObject(hDC,hPen);
hBrush=CreateSolidBrush(RGB(255,0,0));
SelectObject(hDC,hBrush);
Rectangle(hDC,(i-1)*x_unit,(j-1)*y_unit,i*x_unit,j*y_unit);
}
}
break;
return 0;
//-------------------------------------------报时器----------------------------------------------------------------------//
case IDM_BAOSHIQI:
{
int zhengdian=0;
GetLocalTime(&time);
sndPlaySound("zhong.wav",SND_SYNC);
sndPlaySound("TIMENOW.wav",SND_SYNC);
//Sleep(1000);
if(time.wMinute==0)
{
zhengdian=1;
}
if(time.wHour<7)
{
sndPlaySound("AM0.wav",SND_SYNC);
}
else if((time.wHour<12)&&(time.wHour>=7))
{
sndPlaySound("AM1.wav",SND_SYNC);
}
else if((time.wHour<19)&&(time.wHour>=12))
{
sndPlaySound("PM.wav",SND_SYNC);
}
else if((time.wHour<=23)&&(time.wHour>=19))
{
sndPlaySound("PM.wav",SND_SYNC);
}
switch(time.wHour)
{
case 0:
sndPlaySound("T00.wav",SND_SYNC);
break;
case 13:
case 1:
sndPlaySound("T01.wav",SND_SYNC);
break;
case 14:
case 2:
sndPlaySound("T2.wav",SND_SYNC);
break;
case 15:
case 3:
sndPlaySound("T03.wav",SND_SYNC);
break;
case 16:
case 4:
sndPlaySound("T04.wav",SND_SYNC);
break;
case 17:
case 5:
sndPlaySound("T05.wav",SND_SYNC);
break;
case 18:
case 6:
sndPlaySound("T06.wav",SND_SYNC);
break;
case 19:
case 7:
sndPlaySound("T07.wav",SND_SYNC);
break;
case 20:
case 8:
sndPlaySound("T08.wav",SND_SYNC);
break;
case 21:
case 9:
sndPlaySound("T09.wav",SND_SYNC);
break;
case 10:
case 22:
sndPlaySound("T10.wav",SND_SYNC);
break;
case 23:
case 11:
sndPlaySound("T11.wav",SND_SYNC);
break;
case 12:
sndPlaySound("T12.wav",SND_SYNC);
break;
}
sndPlaySound("POINT.wav",SND_SYNC);
if(zhengdian!=1)
{
switch(time.wMinute/10)
{
case 0:
sndPlaySound("T00.wav",SND_SYNC);
break;
case 1:
sndPlaySound("T10.wav",SND_SYNC);
break;
case 2:
sndPlaySound("T20.wav",SND_SYNC);
break;
case 3:
sndPlaySound("T30.wav",SND_SYNC);
break;
case 4:
sndPlaySound("T40.wav",SND_SYNC);
break;
case 5:
sndPlaySound("T50.wav",SND_SYNC);
break;
}
switch(time.wMinute%10)
{
case 1:
sndPlaySound("T01.wav",SND_SYNC);
break;
case 2:
sndPlaySound("T02.wav",SND_SYNC);
break;
case 3:
sndPlaySound("T03.wav",SND_SYNC);
break;
case 4:
sndPlaySound("T04.wav",SND_SYNC);
break;
case 5:
sndPlaySound("T05.wav",SND_SYNC);
break;
case 6:
sndPlaySound("T06.wav",SND_SYNC);
break;
case 7:
sndPlaySound("T07.wav",SND_SYNC);
break;
case 8:
sndPlaySound("T08.wav",SND_SYNC);
break;
case 9:
sndPlaySound("T09.wav",SND_SYNC);
break;
}
sndPlaySound("MIN.wav",SND_SYNC);
}
sndPlaySound("sam.wav",SND_ASYNC|SND_LOOP);
break;
return 0;
}
/*case IDM_YUNDONGQIUTUICHU:
loop=0;
break;
return 0;
*/
}
return (0);
//---------------------------------------------case LBUTTONDOWN-------------------------------------------------------------------//
case WM_LBUTTONDOWN:
GetCursorPos(&Bi.begin);
ScreenToClient(hWnd,&Bi.begin);
xian2=1;
//SetPixel(hDC,Bi.end.x,Bi.end.y,Bi.color);
// MoveToEx(hDC,p.x,p.y,NULL);
/// while(wParam!=WM_LBUTTONUP)
// {
// GetCursorPos(&p);
// ScreenToClient(hWnd,&p);
// LineTo(hDC,p.x,p.y);
// }
// }
break;
return (0);
//--------------------------------------------------------case LBUTTONUP-----------------------------------------------------------------//
case WM_LBUTTONUP:
xian2=0;
switch(flag)
{
//---------------------直线------------------------------------------------------------------------//
case 1:
hDC=GetDC(hWnd);
GetCursorPos(&Bi.end);
hPen=CreatePen(Bi.penstyle,Bi.width,Bi.color);
hBrush=CreateSolidBrush(Bi.color); //设置画刷
SelectObject(hDC,hPen);
SelectObject(hDC,hBrush);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -