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

📄 terminal.c

📁 基于minigui嵌入式图形界面卡发的例子程序
💻 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 + -