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

📄 menu.cpp

📁 monqueror一个很具有参考价值的源玛
💻 CPP
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <pwd.h>#include <unistd.h>#include <sys/types.h>#include <pthread.h>#include <semaphore.h>#include <minigui/common.h>#include <minigui/minigui.h>#include <minigui/gdi.h>#include <minigui/window.h>#include <minigui/control.h>#include "typedef.h"#include "main.h"#include "menu.h"HMENU createmenu(char ** strGlobalMenu){	HMENU hmnu;	MENUITEMINFO mii;	hmnu = CreateMenu();	memset (&mii, 0, sizeof(MENUITEMINFO));	// for menu file.	mii.type        = MFT_STRING;	mii.id          = 100;	mii.typedata    = (DWORD)"文件";	mii.hsubmenu    = createpmenuFile ();	InsertMenuItem(hmnu, 0, TRUE, &mii);	mii.type        = MFT_STRING;		// for menu view.	mii.id          = 120;	mii.typedata    = (DWORD)"视图";	mii.hsubmenu    = createpmenuview ();	InsertMenuItem(hmnu, 1, TRUE, &mii);	mii.type        = MFT_STRING;		// for menu site	mii.id          = 130;	mii.typedata    = (DWORD)"站点";		mii.hsubmenu    = createpmenuFavorate (strGlobalMenu);	InsertMenuItem(hmnu, 2, TRUE, &mii);	mii.type        = MFT_STRING;		// for menu help	mii.id          = 140;	mii.typedata    = (DWORD)"帮助";	mii.hsubmenu    = createpmenuAbout ();	InsertMenuItem(hmnu, 3, TRUE, &mii);	return hmnu;}HMENU createpmenuFavorate (char ** strGlobalMenu){	HMENU hmnu;				// favorate id = IDM_FAVORATE + n	MENUITEMINFO mii;	char strConfFile[MAX_PATH + 1];	char strSiteNum[15];	char strSite[256];	int number, i, strlength;	memset (&mii, 0, sizeof(MENUITEMINFO));		for ( i = 0 ; i < FAVORATE_NUMBER; i++)		strGlobalMenu[i] = NULL;		// open the config file to initialize the window.	strncpy (strConfFile, getpwuid(getuid())->pw_dir, MAX_PATH);	// read from configure file	if (strConfFile[strlen(strConfFile) - 1] != '/')		strncat(strConfFile, "/", MAX_PATH);	strncat (strConfFile, ".", MAX_PATH);	strncat (strConfFile, CONF_FILENAME, MAX_PATH);		mii.type        = MFT_STRING;		// for menu "site"	mii.id          = 0;	mii.typedata    = (DWORD)"站点";	hmnu = CreatePopupMenu (&mii);	if(GetIntValueFromEtcFile(strConfFile, "favorate", "favoratenum", &number) != ETC_OK)	{		return hmnu;	}	if (number > FAVORATE_NUMBER)		number = FAVORATE_NUMBER;	for (i = 0; i < number; i ++)	{		memset (strSiteNum, 0, 15);		sprintf(strSiteNum, "favorate%d", i+1);		if(GetValueFromEtcFile(strConfFile, "favorate", strSiteNum, strSite, 256) != ETC_OK)		{			return hmnu;		}		memset (&mii, 0, sizeof(MENUITEMINFO));	// for www.263.net		mii.type        = MFT_STRING ;		mii.state       = 0;		mii.id          = IDM_FAVORATE + i;		strlength = strlen(strSite);		strGlobalMenu[i] = (char *)malloc(strlength + 1);		memcpy(strGlobalMenu[i], strSite, strlength);		strGlobalMenu[i][strlength] = '\0';		mii.typedata    = (DWORD)strGlobalMenu[i];		InsertMenuItem(hmnu, i + 1, TRUE, &mii);	}	return hmnu;}HMENU createpmenuFile (){	HMENU hmnu;	MENUITEMINFO mii;	memset (&mii, 0, sizeof(MENUITEMINFO));    	mii.type        = MFT_STRING;		// for file head	mii.id          = 0;	mii.typedata    = (DWORD)"文件";	hmnu = CreatePopupMenu (&mii);    	mii.type        = MFT_STRING;		// for "file open"	mii.state       = 0;	mii.id          = IDM_OPEN;	mii.typedata    = (DWORD)"打开...";	InsertMenuItem(hmnu, 1, TRUE, &mii);    	mii.type        = MFT_STRING;		// for "file save"	mii.state       = 0;	mii.id          = IDM_SAVE;	mii.typedata    = (DWORD)"保存";	InsertMenuItem(hmnu, 2, TRUE, &mii);    	mii.type        = MFT_STRING;		// for "file save as"	mii.state       = 0;	mii.id          = IDM_SAVEAS;	mii.typedata    = (DWORD)"另存为...";	InsertMenuItem(hmnu, 3, TRUE, &mii);	mii.type        = MFT_SEPARATOR;	// separator	mii.state       = 0;	mii.id          = 0;	mii.typedata    = 0;	InsertMenuItem(hmnu, 4, TRUE, &mii);	mii.type        = MFT_STRING;		// for "exit"	mii.state       = 0;	mii.id          = IDM_EXIT;	mii.typedata    = (DWORD)"退出";	InsertMenuItem(hmnu, 57, TRUE, &mii);		return hmnu;}																											  HMENU createpmenuAbout (){	HMENU hmnu;	MENUITEMINFO mii;	memset (&mii, 0, sizeof(MENUITEMINFO));		mii.type        = MFT_STRING;	mii.id          = 0;	mii.typedata    = (DWORD)"关于";	hmnu = CreatePopupMenu (&mii);    	memset (&mii, 0, sizeof(MENUITEMINFO));	mii.type        = MFT_STRING ;	mii.state       = 0;	mii.id          = IDM_ABOUT_THIS;	mii.typedata    = (DWORD)"关于 Monqueror...";	InsertMenuItem(hmnu, 0, TRUE, &mii);	return hmnu;}HMENU createpmenuview (void){	HMENU hmnu;	MENUITEMINFO mii;	memset (&mii, 0, sizeof(MENUITEMINFO));	mii.type        = MFT_STRING;	mii.id          = 0;	mii.typedata    = (DWORD)"视图";	hmnu = CreatePopupMenu (&mii);	return hmnu;}

⌨️ 快捷键说明

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