📄 mainmenuwindow.h
字号:
#include"resource.h"
#define SEARCH 300
//CMainMenuWindow类,主菜单界面
class CMainMenuWindow : public CWindowImpl<CMainMenuWindow> {
BEGIN_MSG_MAP( CMainMenuWindow )
MESSAGE_HANDLER( WM_PAINT, OnPaint )
MESSAGE_HANDLER( WM_DESTROY, OnDestroy )
MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLButtonDown)
END_MSG_MAP()
//函数名:OnPaint
//函数功能:在界面上绘制出所有的选项
//参数:UINT
//参数:WPARAM
//参数:LPARAM
//参数:BOOL
//返回值:LRESULT
LRESULT OnPaint( UINT, WPARAM, LPARAM, BOOL& )
{
PAINTSTRUCT ps;
HDC hdc=BeginPaint( &ps );
HBRUSH br=CreateSolidBrush(RGB(204,236,255));
RECT rect;
GetClientRect(&rect);
FillRect(hdc,&rect,br);
int mode=SetBkMode(hdc,TRANSPARENT);
///////////////画出所有的选项
RECT TempRect;
TempRect.left=rect.left;
TempRect.right=rect.right;
TempRect.top=0;
TempRect.bottom=rect.bottom/8;
DrawText(hdc,_T(" 1 设定我的位置"),
_tcslen(_T(" 1 设定我的位置")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom/8;
TempRect.bottom=rect.bottom*2/8;
DrawText(hdc,_T(" 2 设为目的地"),
_tcslen(_T(" 2 设为目的地")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom*2/8;
TempRect.bottom=rect.bottom*3/8;
DrawText(hdc,_T(" 3 地点检索"),
_tcslen(_T(" 3 地点检索")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom*3/8;
TempRect.bottom=rect.bottom*4/8;
DrawText(hdc,_T(" 4 模拟行驶"),
_tcslen(_T(" 4 模拟行驶")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom*4/8;
TempRect.bottom=rect.bottom*5/8;
DrawText(hdc,_T(" 5 附近设施搜索"),
_tcslen(_T(" 5 附近设施搜索")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom*5/8;
TempRect.bottom=rect.bottom*6/8;
DrawText(hdc,_T(" 6 取消路径 "),
_tcslen(_T(" 6 取消路径")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom*6/8;
TempRect.bottom=rect.bottom*7/8;
DrawText(hdc,_T(" 7 关于本软件"),
_tcslen(_T(" 7 关于本软件")),&TempRect,DT_LEFT);
TempRect.top=rect.bottom*7/8;
TempRect.bottom=rect.bottom;
DrawText(hdc,_T(" 8 退出移动导航"),
_tcslen(_T(" 8 退出移动导航")),&TempRect,DT_LEFT);
///////////////
SetBkMode(hdc,mode);
EndPaint(&ps);
return 0;
}
LRESULT OnDestroy( UINT, WPARAM, LPARAM, BOOL& ){
// PostQuitMessage( 0 );
return 0;
}
public:
//函数名: OnLButtondown
//函数功能:根据点击窗体不同的部分来发送不同的消息供主窗体处理
//参数:UINT uMsg
//参数:WPARAM wParam
//参数:LPARAM lParam
//函数:BOOL& bHandled
//函数返回值:LRESULT
LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
POINT pt;
pt.x=LOWORD(lParam);
pt.y=HIWORD(lParam);
RECT rect;
GetClientRect(&rect);
RECT temp;
temp.left=rect.left;
temp.right=rect.right;
temp.top=rect.bottom*2/8;
temp.bottom=rect.bottom*3/8;
if(PtInRect(&temp,pt))//判断是否点击窗体的第三项,如是则发送地点检索消息
{
ShowWindow(SW_HIDE);
::SendMessage(GetParent(),WM_COMMAND,SEARCH,0);
return 0;
}
//附近服务点
temp.top=rect.bottom*4/8;
temp.bottom=rect.bottom*5/8;
if(PtInRect(&temp,pt))//判断是否点击窗体的第五项,如是则发送服务服务点检索消息
{
ShowWindow(SW_HIDE);
::SendMessage(GetParent(),WM_COMMAND,12,0);
return 0;
}
//关于本软件
temp.top=rect.bottom*6/8;
temp.bottom=rect.bottom*7/8;
if(PtInRect(&temp,pt))//判断是否点击窗体的第七项,如是则发送相关消息
{
ShowWindow(SW_HIDE);
::SendMessage(GetParent(),WM_COMMAND,11,0);
}
temp.top=rect.bottom*7/8;//退出系统
temp.bottom=rect.bottom;
if(PtInRect(&temp,pt))//判断是否点击窗体的第八项,如是则发送退出系统消息
{
ShowWindow(SW_HIDE);
::PostQuitMessage(0);
return 0;
}
ShowWindow(SW_HIDE);
return 0;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -