⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainmenuwindow.h

📁 针对smartphone开发的一套用户界面程序
💻 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 + -