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

📄 mfm_gui.c

📁 皮肤界面开发
💻 C
字号:
#include <stdio.h>

#include <minigui/common.h>
#include <minigui/minigui.h>
#include <minigui/gdi.h>
#include <minigui/window.h>
#include <minigui/control.h>

static HMENU CreatePMenuSystem (void)
{
	HMENU hmnu;
	MENUITEMINFO mii;

	memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 0;
	mii.typedata = (DWORD)"System";
	hmnu = CreatePopupMenu(&mii);

	//memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 1;
	mii.typedata = (DWORD)"Flow Meter";
	InsertMenuItem(hmnu, 0, TRUE, &mii);

    //memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 2;
	mii.typedata = (DWORD)"Calibration";	
    InsertMenuItem(hmnu, 1, TRUE, &mii);

	mii.type = MFT_STRING;
	mii.id = 2;
	mii.typedata = (DWORD)"Parameter";	
    InsertMenuItem(hmnu, 2, TRUE, &mii);

	return hmnu;

}

static HMENU createmenu(void)
{
	HMENU hmnu;
	MENUITEMINFO mii;

	hmnu = CreateMenu();

    memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 100;
	mii.typedata = (DWORD)"Test";	
	InsertMenuItem(hmnu, 0, TRUE, &mii);

    memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 110;
	mii.typedata = (DWORD)"Report";
	//mii.checkedbmp = "\0.bmp";
	InsertMenuItem(hmnu, 1, TRUE, &mii);

    memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 120;
	mii.typedata = (DWORD)"System";
	mii.hsubmenu = CreatePMenuSystem();
	InsertMenuItem(hmnu, 2, TRUE, &mii);

    memset(&mii, 0, sizeof(MENUITEMINFO));	
	mii.type = MFT_STRING;
	mii.id = 130;
	mii.typedata = (DWORD)"DCS";	
	InsertMenuItem (hmnu, 3, TRUE, &mii);

    memset(&mii, 0, sizeof(MENUITEMINFO));
	mii.type = MFT_STRING;
	mii.id = 140;
	mii.typedata = (DWORD)"Exit";
	InsertMenuItem (hmnu, 4, TRUE, &mii);

	return hmnu;
 
}
static int HelloWinProc(HWND hWnd, int message, WPARAM wParam, LPARAM lParam)
{
	HDC hdc;
	switch (message) {
		case MSG_PAINT:
			hdc = BeginPaint(hWnd);
			TextOut (hdc, 60, 60, "Hello World!");
			EndPaint (hWnd, hdc);
			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, "Hello world", 0, 0);
#endif;
	CreateInfo.dwStyle = WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_VSCROLL | WS_HSCROLL | WS_THINFRAME;//WS_THICKFRAME;
	CreateInfo.dwExStyle = WS_EX_NONE;
	CreateInfo.spCaption = "Multiphase Flow Meter";
	CreateInfo.hMenu = createmenu();
    CreateInfo.hCursor = GetSystemCursor(0);
	CreateInfo.hIcon = 0;
	CreateInfo.MainWindowProc = HelloWinProc;
    CreateInfo.lx = 10;
	CreateInfo.ty = 10;
	CreateInfo.rx = 240;
	CreateInfo.by = 180;
	CreateInfo.iBkColor = COLOR_lightwhite;
	CreateInfo.dwAddData = 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);
	}

	MainWindowThreadCleanup (hMainWnd);

	return 0;

}

#ifndef _MERM_PROCESSES
#include <minigui/dti.c>
#endif

⌨️ 快捷键说明

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