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

📄 gui.c

📁 Unreal irc 服务器源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
					if (conf_log) 					{						ConfigItem_log *logs;						AppendMenu(hConfig, MF_POPUP|MF_STRING, (UINT)hLogs, "Logs");						for (logs = conf_log; logs; logs = (ConfigItem_log *)logs->next) 						{							AppendMenu(hLogs, MF_STRING, i++, logs->file);						}					}					AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);					if (conf_include) 					{						ConfigItem_include *inc;						for (inc = conf_include; inc; inc = (ConfigItem_include *)inc->next) 						{							if (inc->flag.type & INCLUDE_NOTLOADED)								continue;#ifdef USE_LIBCURL							if (inc->flag.type & INCLUDE_REMOTE)								AppendMenu(hConfig, MF_STRING, i++, inc->url);							else#endif							AppendMenu(hConfig, MF_STRING, i++, inc->file);						}						AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);					}					AppendMenu(hConfig, MF_STRING, IDM_MOTD, MPATH);					AppendMenu(hConfig, MF_STRING, IDM_SMOTD, SMPATH);					AppendMenu(hConfig, MF_STRING, IDM_OPERMOTD, OPATH);					AppendMenu(hConfig, MF_STRING, IDM_BOTMOTD, BPATH);					AppendMenu(hConfig, MF_STRING, IDM_RULES, RPATH);											if (conf_tld) 					{						ConfigItem_tld *tlds;						AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);						for (tlds = conf_tld; tlds; tlds = (ConfigItem_tld *)tlds->next) 						{							if (!tlds->flag.motdptr)								AppendMenu(hConfig, MF_STRING, i++, tlds->motd_file);							if (!tlds->flag.rulesptr)								AppendMenu(hConfig, MF_STRING, i++, tlds->rules_file);							if (tlds->smotd_file)								AppendMenu(hConfig, MF_STRING, i++, tlds->smotd_file);						}					}					AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);					AppendMenu(hConfig, MF_STRING, IDM_NEW, "New File");					mii.cbSize = sizeof(MENUITEMINFO);					mii.fMask = MIIM_SUBMENU;					mii.hSubMenu = hConfig;					SetMenuItemInfo(hTray, IDM_CONFIG, MF_BYCOMMAND, &mii);					TrackPopupMenu(hTray, TPM_LEFTALIGN|TPM_LEFTBUTTON,p.x,p.y,0,hDlg,NULL);					/* Kludge for a win bug */					SendMessage(hDlg, WM_NULL, 0, 0);					break;				}			}			return 0;		}		case WM_DESTROY:			return 0;		case WM_MOUSEMOVE: 		{			POINT p;			p.x = LOWORD(lParam);			p.y = HIWORD(lParam);			if ((p.x >= 24) && (p.x <= 78) && (p.y >= 178) && (p.y <= 190)) 				SetCursor(hCursor);			else if ((p.x >= 85) && (p.x <= 132) && (p.y >= 178) && (p.y <= 190)) 				SetCursor(hCursor);			else if ((p.x >= 140) && (p.x <= 186) && (p.y >= 178) && (p.y <= 190)) 				SetCursor(hCursor);			else if ((p.x >= 194) && (p.x <= 237) && (p.y >= 178) && (p.y <= 190)) 				SetCursor(hCursor);			else if ((p.x >= 245) && (p.x <= 311) && (p.y >= 178) && (p.y <= 190)) 				SetCursor(hCursor);			return 0;		}		case WM_LBUTTONDOWN: 		{			POINT p;	         	p.x = LOWORD(lParam);		     	p.y = HIWORD(lParam);			if ((p.x >= 24) && (p.x <= 78) && (p.y >= 178) && (p.y <= 190))             		{				ClientToScreen(hDlg,&p);				TrackPopupMenu(hRehash,TPM_LEFTALIGN|TPM_LEFTBUTTON,p.x,p.y,0,hDlg,NULL);				return 0;			}			else if ((p.x >= 85) && (p.x <= 132) && (p.y >= 178) && (p.y <= 190))			{				ShowDialog(&hStatusWnd, hInst, "Status", hDlg, StatusDLG);				return 0;			}			else if ((p.x >= 140) && (p.x <= 186) && (p.y >= 178) && (p.y <= 190))			{				unsigned long i = 60000;				ClientToScreen(hDlg,&p);				DestroyMenu(hConfig);				hConfig = CreatePopupMenu();				DestroyMenu(hLogs);				hLogs = CreatePopupMenu();				AppendMenu(hConfig, MF_STRING, IDM_CONF, CPATH);				if (conf_log) 				{					ConfigItem_log *logs;					AppendMenu(hConfig, MF_POPUP|MF_STRING, (UINT)hLogs, "Logs");					for (logs = conf_log; logs; logs = (ConfigItem_log *)logs->next) 					{						AppendMenu(hLogs, MF_STRING, i++, logs->file);					}				}				AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);				if (conf_include) 				{					ConfigItem_include *inc;					for (inc = conf_include; inc; inc = (ConfigItem_include *)inc->next) 					{#ifdef USE_LIBCURL						if (inc->flag.type & INCLUDE_REMOTE)							AppendMenu(hConfig, MF_STRING, i++, inc->url);						else#endif						AppendMenu(hConfig, MF_STRING, i++, inc->file);					}					AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);				}				AppendMenu(hConfig, MF_STRING, IDM_MOTD, MPATH);				AppendMenu(hConfig, MF_STRING, IDM_SMOTD, SMPATH);				AppendMenu(hConfig, MF_STRING, IDM_OPERMOTD, OPATH);				AppendMenu(hConfig, MF_STRING, IDM_BOTMOTD, BPATH);				AppendMenu(hConfig, MF_STRING, IDM_RULES, RPATH);								if (conf_tld) 				{					ConfigItem_tld *tlds;					AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);					for (tlds = conf_tld; tlds; tlds = (ConfigItem_tld *)tlds->next) 					{						if (!tlds->flag.motdptr)							AppendMenu(hConfig, MF_STRING, i++, tlds->motd_file);						if (!tlds->flag.rulesptr)							AppendMenu(hConfig, MF_STRING, i++, tlds->rules_file);						if (tlds->smotd_file)							AppendMenu(hConfig, MF_STRING, i++, tlds->smotd_file);					}				}				AppendMenu(hConfig, MF_SEPARATOR, 0, NULL);				AppendMenu(hConfig, MF_STRING, IDM_NEW, "New File");				TrackPopupMenu(hConfig,TPM_LEFTALIGN|TPM_LEFTBUTTON,p.x,p.y,0,hDlg,NULL);				return 0;			}			else if ((p.x >= 194) && (p.x <= 237) && (p.y >= 178) && (p.y <= 190)) 			{				ClientToScreen(hDlg,&p);				TrackPopupMenu(hAbout,TPM_LEFTALIGN|TPM_LEFTBUTTON,p.x,p.y,0,hDlg,NULL);				return 0;			}			else if ((p.x >= 245) && (p.x <= 311) && (p.y >= 178) && (p.y <= 190)) 				return CloseUnreal(hDlg);		}		case WM_COMMAND: 		{			if (LOWORD(wParam) >= 60000 && HIWORD(wParam) == 0 && !lParam) 			{				unsigned char path[MAX_PATH];				if (GetMenuString(hLogs, LOWORD(wParam), path, MAX_PATH, MF_BYCOMMAND))					DialogBoxParam(hInst, "FromVar", hDlg, (DLGPROC)FromFileReadDLG, (LPARAM)path);								else 				{					GetMenuString(hConfig,LOWORD(wParam), path, MAX_PATH, MF_BYCOMMAND);#ifdef USE_LIBCURL					if (url_is_valid(path))					{						char *file = find_loaded_remote_include(path);						DialogBoxParam(hInst, "FromVar", hDlg, (DLGPROC)FromFileReadDLG, (LPARAM)file);					}					else#endif						DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG, (LPARAM)path);				}				return FALSE;			}			switch(LOWORD(wParam)) 			{				case IDM_STATUS:					ShowDialog(&hStatusWnd, hInst, "Status", hDlg,StatusDLG);					break;				case IDM_SHUTDOWN:					return CloseUnreal(hDlg);				case IDM_RHALL:					MessageBox(NULL, "Rehashing all files", "Rehashing", MB_OK);					sendto_realops("Rehashing all files via the console");					rehash(&me,&me,0);					reread_motdsandrules();					break;				case IDM_RHCONF:					MessageBox(NULL, "Rehashing the Config file", "Rehashing", MB_OK);					sendto_realops("Rehashing the Config file via the console");					rehash(&me,&me,0);					break;				case IDM_RHMOTD: 				{					ConfigItem_tld *tlds;					aMotd *amotd;					MessageBox(NULL, "Rehashing all MOTD and Rules files", "Rehashing", MB_OK);					rehash_motdrules();					sendto_realops("Rehashing all MOTD and Rules files via the console");					break;				}				case IDM_RHOMOTD:					MessageBox(NULL, "Rehashing the OperMOTD", "Rehashing", MB_OK);					opermotd = (aMotd *) read_file(OPATH, &opermotd);					sendto_realops("Rehashing the OperMOTD via the console");					break;				case IDM_RHBMOTD:					MessageBox(NULL, "Rehashing the BotMOTD", "Rehashing", MB_OK);					botmotd = (aMotd *) read_file(BPATH, &botmotd);					sendto_realops("Rehashing the BotMOTD via the console");					break;				case IDM_LICENSE: 					DialogBox(hInst, "FromVar", hDlg, (DLGPROC)LicenseDLG);					break;				case IDM_CREDITS:					DialogBox(hInst, "FromVar", hDlg, (DLGPROC)CreditsDLG);					break;				case IDM_DAL:					DialogBox(hInst, "FromVar", hDlg, (DLGPROC)DalDLG);					break;				case IDM_HELP:					DialogBox(hInst, "Help", hDlg, (DLGPROC)HelpDLG);					break;				case IDM_CONF:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG, 						(LPARAM)CPATH);					break;				case IDM_MOTD:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG, 						(LPARAM)MPATH);					break;				case IDM_SMOTD:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG, 						(LPARAM)SMPATH);					break;				case IDM_OPERMOTD:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG,						(LPARAM)OPATH);					break;				case IDM_BOTMOTD:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG,						(LPARAM)BPATH);					break;				case IDM_RULES:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG,						(LPARAM)RPATH);					break;				case IDM_NEW:					DialogBoxParam(hInst, "FromFile", hDlg, (DLGPROC)FromFileDLG, (LPARAM)NULL);					break;			}		}	}	return FALSE;}LRESULT CALLBACK LicenseDLG(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {	return FromVarDLG(hDlg, message, wParam, lParam, "UnrealIRCd License", gnulicense);}LRESULT CALLBACK CreditsDLG(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {	return FromVarDLG(hDlg, message, wParam, lParam, "UnrealIRCd Credits", unrealcredits);}LRESULT CALLBACK DalDLG(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) {	return FromVarDLG(hDlg, message, wParam, lParam, "UnrealIRCd DALnet Credits", dalinfotext);}LRESULT CALLBACK FromVarDLG(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam,			    unsigned char *title, unsigned char **s) {	HWND hWnd;	switch (message) 	{		case WM_INITDIALOG: 		{			unsigned char	String[16384];			int size;			unsigned char *RTFString;			StreamIO *stream = malloc(sizeof(StreamIO));			EDITSTREAM edit;			SetWindowText(hDlg, title);			bzero(String, 16384);			lpfnOldWndProc = (FARPROC)SetWindowLong(GetDlgItem(hDlg, IDC_TEXT), GWL_WNDPROC, (DWORD)RESubClassFunc);			while (*s) 			{				strcat(String, *s++);				if (*s)					strcat(String, "\r\n");			}			size = CountRTFSize(String)+1;			RTFString = malloc(size);			bzero(RTFString, size);			IRCToRTF(String,RTFString);			RTFBuf = RTFString;			size--;			stream->size = &size;			stream->buffer = &RTFBuf;			edit.dwCookie = (UINT)stream;			edit.pfnCallback = SplitIt;			SendMessage(GetDlgItem(hDlg, IDC_TEXT), EM_STREAMIN, (WPARAM)SF_RTF|SFF_PLAINRTF, (LPARAM)&edit);			free(RTFString);				free(stream);			return TRUE;		}		case WM_COMMAND: 		{			hWnd = GetDlgItem(hDlg, IDC_TEXT);			if (LOWORD(wParam) == IDOK)				return EndDialog(hDlg, TRUE);			if (LOWORD(wParam) == IDM_COPY) 			{				SendMessage(hWnd, WM_COPY, 0, 0);				return 0;			}			if (LOWORD(wParam) == IDM_SELECTALL) 			{				SendMessage(hWnd, EM_SETSEL, 0, -1);				return 0;			}			if (LOWORD(wParam) == IDM_PASTE) 			{				SendMessage(hWnd, WM_PASTE, 0, 0);				return 0;			}			if (LOWORD(wParam) == IDM_CUT) 			{				SendMessage(hWnd, WM_CUT, 0, 0);				return 0;			}			if (LOWORD(wParam) == IDM_UNDO) 			{				SendMessage(hWnd, EM_UNDO, 0, 0);				return 0;			}			if (LOWORD(wParam) == IDM_DELETE) 			{				SendMessage(hWnd, WM_CLEAR, 0, 0);				return 0;			}			break;		}		case WM_CLOSE:			EndDialog(hDlg, TRUE);			break;

⌨️ 快捷键说明

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