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

📄 menu.c

📁 使用GPS驱动中间件,先初始化GPS,发送相关命令,等待接收地理的数据,若接收到数据,可从液晶屏中显示.
💻 C
字号:
/***************************************************************************** 文件名:Menu.C* 功能:MiniGUI应用例子。*       创建一个包含有下拉菜单的主窗口。* 说明:使用MiniGUI for uC/OS-II,使用ADS 1.2编译器。****************************************************************************/#include <string.h>/* 包含MiniGUI的配置头文件(编译配置选项) */#include "MiniGUI_config.h"/* 包含MiniGUI头文件 */#include "common.h"#include "minigui.h"#include "gdi.h"#include "window.h"#include "control.h"/* 主窗口起始位置及大小 */#define  MWINDOW_LX	5       /* 窗口左边框的x值 */#define  MWINDOW_TY	50      /* 窗口上边框的y值 */#define  MWINDOW_RX	235     /* 窗口右边框的x值 */#define  MWINDOW_BY	200     /* 窗口下边框的y值 *//* 定义菜单资源ID */#define  IDM_FILE	2010#define  IDM_EXIT	2011  #define  IDM_HELP	2020#define  IDM_ABOUT	2021HWND hMainWnd;      // 主窗口句柄/***************************************************************************** 名称:CreatFileMenu()* 功能:建立子菜单"File"。* 入口参数:无* 出口参数:返回菜单句柄。****************************************************************************/static HMENU  CreatFileMenu(void){   HMENU  hmenu;    MENUITEMINFO mii;     /* 建立下拉式子菜单"File" */    memset(&mii, 0, sizeof(MENUITEMINFO));	 // 初始化mii所有单元为0     mii.type = MFT_STRING;    mii.id = 0;     mii.typedata = (DWORD)"File";    hmenu = CreatePopupMenu(&mii);    /* 添加菜单项"Exit" */    memset(&mii, 0, sizeof(MENUITEMINFO));	     mii.type = MFT_STRING;    mii.state = 0;    mii.id = IDM_EXIT;    mii.typedata = (DWORD)"Exit";    InsertMenuItem(hmenu, 0, TRUE, &mii);    return(StripPopupHead(hmenu));}/***************************************************************************** 名称:CreatAboutMenu()* 功能:建立子菜单"Help"。* 入口参数:无* 出口参数:返回菜单句柄。****************************************************************************/static HMENU  CreatAboutMenu(void){   HMENU  hmenu;    MENUITEMINFO mii;     /* 建立下拉式子菜单"Help" */    memset(&mii, 0, sizeof(MENUITEMINFO));    mii.type = MFT_STRING;    mii.id = 0;    mii.typedata = (DWORD)"Help";    hmenu = CreatePopupMenu(&mii);    /* 添加菜单项"About" */    memset(&mii, 0, sizeof(MENUITEMINFO));	     mii.type = MFT_STRING;    mii.state = 0;    mii.id = IDM_ABOUT;    mii.typedata = (DWORD)"About";    InsertMenuItem(hmenu, 0, TRUE, &mii);    return(StripPopupHead(hmenu));}/***************************************************************************** 名称:CreateMainMenu()* 功能:建立主菜单(下拉式)。* 入口参数:无* 出口参数:返回菜单句柄。****************************************************************************/static HMENU  CreateMainMenu(void){   HMENU  hmenu;    MENUITEMINFO mii;     hmenu = CreateMenu();    /* 添加"File"菜单 */    memset(&mii, 0, sizeof(MENUITEMINFO));  // 初始化mii所有单元为0     mii.type = MFT_STRING;    mii.id = IDM_FILE;    mii.typedata = (DWORD)"File...";    mii.hsubmenu = CreatFileMenu();		    // 建立子菜单    InsertMenuItem(hmenu, 0, TRUE, &mii);    /* 添加"Help"菜单 */    memset(&mii, 0, sizeof(MENUITEMINFO));	     mii.type = MFT_STRING;    mii.id = IDM_HELP;    mii.typedata = (DWORD)"Help...";    mii.hsubmenu = CreatAboutMenu();    InsertMenuItem(hmenu, 1, TRUE, &mii);     return(hmenu);}/***************************************************************************** 名称:WinProc()* 功能:主窗口过程函数。*       处理MSG_COMMAND消息,执行相应的菜单功能。* 入口参数:hWnd        窗口句柄*           message     消息*           wParam      消息附加参数1*           lParam      消息附加参数2* 出口参数:消息已处理则返回0。****************************************************************************/static int  WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){   HDC  hdc;    switch(message)    {   case MSG_PAINT:	        hdc = BeginPaint(hWnd);	        TextOut(hdc, 10, 50, "This is MiniGUI Window!");	        EndPaint(hWnd, hdc);	        break;        case MSG_CLOSE:	        DestroyMainWindow(hWnd);	        PostQuitMessage(hWnd);	        break;        case MSG_COMMAND:            switch(wParam)            {   case IDM_EXIT:                    DestroyMainWindow(hWnd);                    PostQuitMessage(hWnd);                    break;                case IDM_ABOUT:                    MessageBox(hWnd, "Menu demo V1.0", "About", MB_OK);                    break;            }            break;        default:	    return(DefaultMainWinProc(hWnd, message, wParam, lParam));    }    return(0);}/***************************************************************************** 名称:InitMainWindow()* 功能:建立主窗口。* 入口参数:无* 出口参数:建立成功返回1,否则返回0。****************************************************************************/int InitMainWindow(void){   MAINWINCREATE  window_info;    window_info.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION;    window_info.dwExStyle = WS_EX_NONE;    window_info.spCaption = "Menu demo";        // 窗口标题    window_info.hMenu = CreateMainMenu();       // 使用下拉式菜单    window_info.hCursor = GetSystemCursor(0);    window_info.hIcon = 0;    window_info.MainWindowProc = WinProc;    window_info.lx = MWINDOW_LX;    window_info.ty = MWINDOW_TY;    window_info.rx = MWINDOW_RX;    window_info.by = MWINDOW_BY;    window_info.iBkColor = COLOR_lightwhite;    window_info.dwAddData = 0;    window_info.hHosting = HWND_DESKTOP;         hMainWnd = CreateMainWindow (&window_info);    if (hMainWnd == HWND_INVALID) return(0);      else  return(1);}/***************************************************************************** 名称:MiniGUIMain()* 功能:MiniGUI程序入口点。* 入口参数:argc    参数个数*           argv    参数字符串指针* 出口参数:返回0。****************************************************************************/int  MiniGUIMain(int argc, const char *argv[]){   MSG Msg;#ifdef _LITE_VERSION    SetDesktopRect(0,0, 800,600);#endif    InitMainWindow();    ShowWindow(hMainWnd, SW_SHOWNORMAL);    while (GetMessage(&Msg, hMainWnd))     {   TranslateMessage(&Msg);        DispatchMessage(&Msg);    }        MainWindowThreadCleanup (hMainWnd);    return(0);}#ifndef _LITE_VERSION	#include "dti.c"#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -