📄 terminal.c
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#include <minigui/mgext.h>#define IDC_COOLBAR1 110#define IDC_BAR 30#define IDC_BARCOPY 31#define IDC_BARCUT 32#define IDC_BARDEL 33#define IDC_BARPASTE 44#define IDC_BAREXE 35#define IDC_SLEPRO 36#define NM_BARPIC 6static HWND hMainWnd = HWND_INVALID;static char * barpic[] ={ "res/copy.bmp", "res/cut.bmp", "res/delete.bmp", "res/paste.bmp", "res/exepro.bmp", "res/closefolder.bmp"};static char * barhint[] ={ "Copy", "Cut", "Delete", "Paste", "Execute", "Close"};static BITMAP bmps [6];static int offset = 0;static RECT rcCircle = {0, 340, 300, 300};static void create_new_toolbar (HWND hWnd){ int i; COOLBARITEMINFO cbii; HWND coolbar1; coolbar1 = CreateWindow (CTRL_COOLBAR, "", WS_CHILD | WS_VISIBLE | CBS_BMP_CUSTOM, IDC_COOLBAR1, 0, 0, 1024, 0, hWnd, MAKELONG (48, 48)); for (i = 0; i < NM_BARPIC; i++) { LoadBitmapFromFile (HDC_SCREEN, bmps+i, barpic[i]); cbii.id = IDC_BAR + i + 1; cbii.ItemType = TYPE_BMPITEM; cbii.Bmp = bmps + i; cbii.ItemHint = barhint[i]; cbii.Caption = NULL; cbii.dwAddData = 0; SendMessage (coolbar1, CBM_ADDITEM, 0, (LPARAM)&cbii); }}static int CoolBarWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam){ static HWND ed;switch (message) { case MSG_CREATE: ed = CreateWindow (CTRL_EDIT, "", WS_CHILD | WS_VISIBLE | WS_BORDER, 200, 100, 150, 100, 20, hWnd, 0); create_new_toolbar (hWnd); break; case MSG_PAINT: { HDC hdc = BeginPaint (hWnd); ClipRectIntersect (hdc, &rcCircle); SetBrushColor (hdc, PIXEL_blue);#if _USE_NEWGAL FillCircle (hdc, 140 + offset, 120, 50);#else Circle (hdc, 140 + offset, 120, 50);#endif EndPaint (hWnd, hdc); return 0; } case MSG_COMMAND: { int id = LOWORD (wParam); int code = HIWORD (wParam); if (id == IDC_COOLBAR1) { PostMessage (ed, MSG_CHAR, code, 0); } } break; case MSG_DESTROY: DestroyAllControls (hWnd); return 0; case MSG_CLOSE: DestroyMainWindow (hWnd); PostQuitMessage (hWnd); return 0;}return DefaultMainWinProc(hWnd, message, wParam, lParam);}int MiniGUIMain (int argc, const char* argv[]){ MSG Msg; HWND hMainWnd; MAINWINCREATE CreateInfo;#ifdef _MGRM_PROCESSES JoinLayer(NAME_DEF_LAYER , "terminal" , 0 , 0);#endif if (!InitMiniGUIExt()) { return 2; } CreateInfo.dwStyle = WS_CAPTION | WS_BORDER | WS_VISIBLE; CreateInfo.dwExStyle = WS_EX_NONE; CreateInfo.spCaption = "终端图形配置界面"; CreateInfo.hMenu = 0; CreateInfo.hCursor = GetSystemCursor(IDC_ARROW); CreateInfo.hIcon = 0; CreateInfo.MainWindowProc = CoolBarWinProc; CreateInfo.lx = 0; CreateInfo.ty = 0; CreateInfo.rx = 640; CreateInfo.by = 480; CreateInfo.iBkColor = GetWindowElementColor (BKC_CONTROL_DEF); CreateInfo.dwAddData = 0; CreateInfo.dwReserved = 0; CreateInfo.hHosting = HWND_DESKTOP; hMainWnd = CreateMainWindow (&CreateInfo); if (hMainWnd == HWND_INVALID) return -1; ShowWindow(hMainWnd, SW_SHOWNORMAL); while (GetMessage(&Msg, hMainWnd)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } MiniGUIExtCleanUp (); MainWindowThreadCleanup (hMainWnd); return 0;}#ifndef _LITE_VERSION#include <minigui/dti.c>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -