/*
minitos Menu 采用和Windows一样的菜单设计API,快速设计嵌入式菜单系统。
可以根据所选择的菜单触发一个子程序运行。(酷吧,像windows的事件函数一样 )
minitos就是 mini Task OS.
http://www.dianzixuexi.com 电子学习网
minitos 嵌入操作系统 : http://www.dianzixuexi.com minitos相关频道
minitos Windows C++嵌入图形系统 http://www.dianzixuexi.com
Copyright (C) 福州福拓电子科技有限公司
本文实现minitos Menu 的菜单摸板
created by Linls,2003.8
*/
/*
菜单摸板
*/
#include <string.h>
#include "menu.h"
#include "MenuTpl.h"
MENUITEM Top[3] = {
/*Name, ID , Type,SubMenu, Key, bExit, Func, EnterFunc,pNext, pPrev */
{"Top1", 0, 0, 0, 0, TRUE ,NULL,NULL, NULL, NULL},
{"Top2", 0, 0, 0, 0, TRUE ,NULL,NULL, NULL, NULL},
{"Top3", 0, 0, 0, 0, TRUE ,NULL,NULL, NULL, NULL}
};
MENUITEM ItemExp[2]={
/*Name, ID, Type,SubMenu, Key, bExit, Func, EnterFunc, pNext, pPrev */
{"item1", 200, 0, 0, 0, TRUE ,NULL,NULL, NULL, NULL},
{"item2", 201, 0, 0, 0, TRUE ,NULL,NULL, NULL, NULL}
};
HMENU CreateFileMenu (void)
{
HMENU hPopupMenu;
hPopupMenu = CreatePopupMenu ();
AppendMenu(hPopupMenu, MF_ENABLED, IDM_NEW, "new");
AppendMenu(hPopupMenu, MF_ENABLED, IDM_OPEN, "open");
return hPopupMenu;
}
HMENU CreateEditMenu (void)
{
HMENU hPopupMenu;
hPopupMenu = CreatePopupMenu ();
AppendMenu(hPopupMenu, MF_ENABLED, IDM_COPY, "Copy");
AppendMenu(hPopupMenu, MF_ENABLED, IDM_PASTE, " aste");
return hPopupMenu;
}
/*
菜单设计方式1
自底向上设计菜单
*/
HMENU CreateMenu_System1 (void)
{
HMENU hMenu,hPopup;
hMenu = CreateMenu ();
hPopup = CreateFileMenu();
AppendMenu(hMenu, MF_POPUP, (UINT)hPopup, "!File");
hPopup = CreateEditMenu();
AppendMenu(hMenu, MF_POPUP, (UINT)hPopup, "!Edit");
return hMenu;
}
/*
菜单设计方式2
自顶向下设计菜单
*/
HMENU CreateMenu_System2 (void)
{
HMENU hPopupMenu_System;
hPopupMenu_System = CreatePopupMenu();
AppendMenu(hPopupMenu_System, MF_ENABLED, 301, "TestItem0");
{
HMENU hPopupMenu_File;
hPopupMenu_File = AppendPopupMenu(hPopupMenu_System,"!File");
{
AppendMenu(hPopupMenu_File, MF_ENABLED, IDM_NEW, "new");
AppendMenu(hPopupMenu_File, MF_ENABLED, IDM_OPEN, "open");
}
}
{
HMENU hPopupMenu_Edit;
hPopupMenu_Edit = AppendPopupMenu(hPopupMenu_System,"!Edit");
{
AppendMenu(hPopupMenu_Edit, MF_ENABLED, IDM_COPY, "Copy");
AppendMenu(hPopupMenu_Edit, MF_ENABLED, IDM_PASTE, " aste");
{
HMENU hPopupMenu_Hello;
hPopupMenu_Hello = AppendPopupMenu(hPopupMenu_Edit,"!Hello");
{
AppendMenu(hPopupMenu_Hello, MF_ENABLED, 501, "Hello L1");
AppendMenu(hPopupMenu_Hello, MF_ENABLED, 502, "Hello L2");
}
}
}
}
return hPopupMenu_System;
}
/*
菜单设计方式3
表格方式设计菜单
注意:采用表格方式设计菜单的菜单项不能删除,因为这些项不是动态分配内存的
*/
HMENU CreateMenu_System3 (void)
{
HMENU pMenuTop,hMenu;
pMenuTop =InitMenuItemList(Top,3);
hMenu = InitMenuItemList(ItemExp,2);
SetMenuItem((PMENUPOPUP)pMenuTop, &(Top[0]),hMenu );
hMenu = CreateMenu_System2();
SetMenuItem((PMENUPOPUP)pMenuTop, &(Top[1]),hMenu );
return pMenuTop;
}
|