📄 menu.c
字号:
#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#define IDM_FILE 2010#define IDM_EXIT 2011 #define IDM_HELP 2020#define IDM_ABOUT 2021HWND hMainWnd;static HMENU CreatFileMenu(void){ HMENU hmenu; MENUITEMINFO mii; /* define the "File" menu is PopupMenu, and get the PopupMenu point */ memset(&mii, 0, sizeof(MENUITEMINFO)); /* init mii to 0 */ mii.type = MFT_STRING; mii.id = 0; mii.typedata = (DWORD)"File"; hmenu = CreatePopupMenu(&mii); /* creat the "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));}static HMENU CreatAboutMenu(void){ HMENU hmenu; MENUITEMINFO mii; /* define the "Help" menu is PopupMenu, and get the PopupMenu point */ memset(&mii, 0, sizeof(MENUITEMINFO)); /* init mii to 0 */ mii.type = MFT_STRING; mii.id = 0; mii.typedata = (DWORD)"Help"; hmenu = CreatePopupMenu(&mii); /* creat the "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));}static HMENU CreateMainMenu(void){ HMENU hmenu; MENUITEMINFO mii; hmenu = CreateMenu(); /* creat "File" menu */ memset(&mii, 0, sizeof(MENUITEMINFO)); /* init mii to 0 */ mii.type = MFT_STRING; mii.id = IDM_FILE; mii.typedata = (DWORD)"File..."; mii.hsubmenu = CreatFileMenu(); /* creat the sub menu */ InsertMenuItem(hmenu, 0, TRUE, &mii); /* creat "Help" menu */ 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);}static int WinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){ HDC hdc; switch(message) { case MSG_PAINT: hdc = BeginPaint(hWnd); TextOut(hdc, 150, 200, "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);}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 = 0; window_info.ty = 0; window_info.rx = 640; window_info.by = 480; 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);}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 <minigui/dti.c>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -