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

📄 hxmullan.cpp

📁 linux下的一款播放器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	HINSTANCE hTempDLL;	// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			output = LoadString(hTempDLL, idResource, 					    OS_STRING2(lpszBuffer, cbBuffer), 					    cbBuffer);			if (output)			{				bLoaded = TRUE;				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		output = LoadString(g_hInstBase, idResource, 				    OS_STRING2(lpszBuffer, cbBuffer), 				    cbBuffer);	}	return output;}HBITMAP HXLoadBitmap(LPCSTR pszName){	BOOL	bLoaded = FALSE;	HBITMAP	output = NULL;	HXCheckLocale();	HINSTANCE hTempDLL;	// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			output = LoadBitmap(hTempDLL, OS_STRING(pszName));			if (output)			{				bLoaded = TRUE;				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		output = LoadBitmap(g_hInstBase, OS_STRING(pszName));	}	return output;}HICON HXLoadIcon(LPCSTR pszName){	BOOL	bLoaded = FALSE;	HICON	output = NULL;	HXCheckLocale();	HINSTANCE hTempDLL;	// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			output = LoadIcon(hTempDLL, OS_STRING(pszName));			if (output)			{				bLoaded = TRUE;				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		output = LoadIcon(g_hInstBase, OS_STRING(pszName));	}	return output;}HCURSOR HXLoadCursor(LPCSTR pszName){	BOOL	bLoaded = FALSE;	HCURSOR	output = NULL;	HXCheckLocale();	HINSTANCE hTempDLL;	// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			output = LoadCursor(hTempDLL, OS_STRING(pszName));			if (output)			{				bLoaded = TRUE;				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		output = LoadCursor(g_hInstBase, OS_STRING(pszName));	}	return output;}HMENU HXLoadMenu(LPCSTR pszName){	BOOL	bLoaded = FALSE;	HMENU	output = NULL;	HXCheckLocale();	HINSTANCE hTempDLL;	// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			output = LoadMenu(hTempDLL, OS_STRING(pszName));			if (output)			{				bLoaded = TRUE;				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		output = LoadMenu(g_hInstBase, OS_STRING(pszName));	}	return output;}void * LoadDialogBoxTemplate(HINSTANCE hInst, LPCSTR pszName, HGLOBAL * pHMem){	*pHMem = NULL;		HRSRC hRsrc = FindResource(hInst, OS_STRING(pszName),RT_DIALOG);	if (hRsrc)	{		*pHMem = LoadResource(hInst,hRsrc);		return LockResource(*pHMem);	}	return NULL;}void * HXLoadDialogBoxTemplate(LPCSTR pszName, HGLOBAL * pHMem){	BOOL	bLoaded = FALSE;	void *  pTemplate = NULL;	*pHMem = NULL;	HXCheckLocale();	HINSTANCE hTempDLL;	// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			pTemplate = LoadDialogBoxTemplate(hTempDLL, pszName, pHMem);			if (pTemplate)			{				bLoaded = TRUE;				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		pTemplate = LoadDialogBoxTemplate(g_hInstBase, pszName, pHMem);	}	return pTemplate;}int HXDialogBox(LPCSTR pszName, HWND hwndOwner, DLGPROC dlgprc){	int	output = 0;                                                   	HGLOBAL hMem;#ifdef _WIN32	LPDLGTEMPLATE pDlgTemp = (LPDLGTEMPLATE)HXLoadDialogBoxTemplate(pszName, &hMem);#else	void * pDlgTemp = HXLoadDialogBoxTemplate(pszName, &hMem);#endif	if (pDlgTemp && hMem)	{#ifdef _WIN32			output = DialogBoxIndirect(g_hInstBase, pDlgTemp, hwndOwner, dlgprc);#else		                                                                       	output = DialogBoxIndirect(g_hInstBase, hMem, hwndOwner, dlgprc);		UnlockResource(hMem);		FreeResource(hMem);#endif        			}	return output;}int HXDialogBoxParam(LPCSTR pszName, HWND hwndOwner, DLGPROC dlgprc, LPARAM lParamInit){	int	output = 0;   	HGLOBAL hMem;#ifdef _WIN32	LPDLGTEMPLATE pDlgTemp = (LPDLGTEMPLATE)HXLoadDialogBoxTemplate(pszName, &hMem);#else	void * pDlgTemp = HXLoadDialogBoxTemplate(pszName, &hMem);#endif	if (pDlgTemp && hMem)	{#ifdef _WIN32			output = DialogBoxIndirectParam(g_hInstBase, pDlgTemp, hwndOwner, dlgprc, lParamInit);#else		                                                                       	output = DialogBoxIndirectParam(g_hInstBase, hMem, hwndOwner, dlgprc, lParamInit);		UnlockResource(hMem);		FreeResource(hMem);#endif        			}	return output;}HWND HXCreateDialog(LPCSTR pszName, HWND hwndOwner, DLGPROC dlgprc){	HWND output = 0;  	HGLOBAL hMem;#ifdef _WIN32	LPDLGTEMPLATE pDlgTemp = (LPDLGTEMPLATE)HXLoadDialogBoxTemplate(pszName, &hMem);#else	void * pDlgTemp = HXLoadDialogBoxTemplate(pszName, &hMem);#endif	if (pDlgTemp && hMem)	{		output = CreateDialogIndirect(g_hInstBase, pDlgTemp, hwndOwner, dlgprc);#ifdef _WIN16                UnlockResource(hMem);		FreeResource(hMem);#endif	}	return output;}HWND HXCreateDialogParam(LPCSTR pszName, HWND hwndOwner, DLGPROC dlgprc, LPARAM lParamInit){	HWND output = 0;	HGLOBAL hMem;#ifdef _WIN32	LPDLGTEMPLATE pDlgTemp = (LPDLGTEMPLATE)HXLoadDialogBoxTemplate(pszName, &hMem);#else	void * pDlgTemp = HXLoadDialogBoxTemplate(pszName, &hMem);#endif	if (pDlgTemp && hMem)	{		output = CreateDialogIndirectParam(g_hInstBase, pDlgTemp, hwndOwner, dlgprc, lParamInit);#ifdef _WIN16		UnlockResource(hMem);		FreeResource(hMem);#endif	}	return output;}void HXResetWindowText(HWND hwnd, UINT idResource){	char szText[256]; /* Flawfinder: ignore */	int nCharCount = HXLoadString(idResource,szText,255);	if (nCharCount > 0)	{		// Try and set the new text		SetWindowText(hwnd, OS_STRING(szText));	}	}#ifndef WIN32_PLATFORM_PSPCvoid HXResetWindowMenu(HWND hwnd, LPCSTR pszName){	HMENU hNewMenu = HXLoadMenu(pszName);	HMENU hOldMenu = GetMenu(hwnd);	// Try and set the new menu	if (SetMenu(hwnd,hNewMenu))	{		hNewMenu = NULL;	}		// If we succesfully set the new menu than it	// will be NULL, otherwise we need to clean it	// up correctly.	if (hNewMenu)	{		DestroyMenu(hNewMenu);	}		// Normally we got the old menu and we need to	// clean it up. Otherwise we don't need to do	// anything.	if (hOldMenu)	{		DestroyMenu(hOldMenu);	}	}HMENU HXLoadPopupMenu(LPCSTR pMenuName){	HMENU hPopup = NULL;	HMENU hMenu = HXLoadMenu(pMenuName);	if (hMenu)	{		hPopup = CreatePopupMenu();		int nItemCount = GetMenuItemCount(hMenu);		for (int nItem = 0; nItem < nItemCount; nItem++)		{			char buffer[256]; /* Flawfinder: ignore */			UINT unID = GetMenuItemID(hMenu,nItem);			UINT unState = GetMenuState(hMenu,nItem,MF_BYPOSITION);			GetMenuString(hMenu,nItem,buffer,sizeof(buffer)-1,MF_BYPOSITION);			AppendMenu(hPopup,unState | MF_STRING,unID,buffer);   		}	}	return hPopup;}HFONT HXCreateFont (int nHeight,										int nWidth,											int nEscapement,										int nOrientation,										int fnWeight,	 										DWORD fdwItalic,					DWORD fdwUnderline,					DWORD fdwStrikeOut,					DWORD fdwCharSet,					DWORD fdwOutputPrecision,					DWORD fdwClipPrecision,					DWORD fdwQuality,					DWORD fdwPitchAndFamily,					LPCSTR lpszFace){	HINSTANCE hTempDLL;	HFONT rtnFont;	CREATE_FONT Create_Font_Func = NULL;	BOOL	bLoaded = FALSE;	int		output = 0;	HXCheckLocale();		// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];			Create_Font_Func = (CREATE_FONT)GetProcAddress((HINSTANCE)hTempDLL, OS_STRING(Name_Create_Font));  			if (Create_Font_Func)			{				bLoaded = TRUE;				rtnFont = (* Create_Font_Func) (nHeight, nWidth, nEscapement,												nOrientation, fnWeight, fdwItalic,												fdwUnderline, fdwStrikeOut, fdwCharSet,												fdwOutputPrecision, fdwClipPrecision,												fdwQuality, fdwPitchAndFamily,												lpszFace);				break; // for							} // if output					} // if some handle			} // for	if (!bLoaded)	{		// NOTE: Win32 and Win16 versions take different sized parameters!		rtnFont = CreateFont(nHeight, nWidth, nEscapement, nOrientation, fnWeight, #ifdef _WIN32							fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, 							fdwOutputPrecision, fdwClipPrecision, fdwQuality, 							fdwPitchAndFamily,#else							(BYTE)fdwItalic, (BYTE)fdwUnderline, (BYTE)fdwStrikeOut, 							(BYTE)fdwCharSet, (BYTE)fdwOutputPrecision, (BYTE)fdwClipPrecision,							(BYTE)fdwQuality, (BYTE)fdwPitchAndFamily,#endif							lpszFace);	}	return rtnFont;}HFONT HXGetStockFont ( int stockFontId ){	HINSTANCE hTempDLL;	HFONT rtnFont;	LOAD_FONT Load_Font_Func = NULL;	BOOL	bLoaded = FALSE;	int		output = 0;	HXCheckLocale();		// First Check in Language DLLs	for (int ndx = 0; ndx < g_nLangDLLs; ndx++)	{		if (g_hLangDLLs[ndx])		{			hTempDLL = g_hLangDLLs[ndx];		    Load_Font_Func = (LOAD_FONT)GetProcAddress((HINSTANCE)hTempDLL, OS_STRING(Name_Load_Font));  			if (Load_Font_Func)			{				bLoaded = TRUE;				rtnFont = (* Load_Font_Func) ( stockFontId );				break;			}		}	}	if (!bLoaded)	{		return (HFONT) GetStockObject ( stockFontId );	}	return rtnFont;}#endif

⌨️ 快捷键说明

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