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

📄 public.cpp

📁 手机数据备份软件
💻 CPP
字号:
// Public.cpp: implementation of the Public class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Public.h"

HWND CreateMenuBarWnd(HWND hWnd,UINT nMenuResourceID)
{
	ATLASSERT(IsWindow(hWnd)); 

	SHINITDLGINFO shidi;
	::ZeroMemory(&shidi, sizeof(shidi));
	shidi.dwMask = SHIDIM_FLAGS;
	shidi.dwFlags = SHIDIF_SIZEDLGFULLSCREEN;
	shidi.hDlg = hWnd;

	if (!SHInitDialog(&shidi))
	{
		ATLTRACE(_T("Failed to init dialog.\n"));
		EndDialog(hWnd,IDCANCEL);
		return NULL;
	}

	// Create the Menu Bar.
	SHMENUBARINFO mbi;
	memset(&mbi, 0, sizeof(mbi)); 
	mbi.cbSize = sizeof(mbi);
	mbi.hwndParent = hWnd;
	mbi.nToolBarId = nMenuResourceID;
	mbi.hInstRes = _Module.GetResourceInstance();

	if(!SHCreateMenuBar(&mbi))
	{
		ATLTRACE(_T("Failed to create menu bar.\n"));
		EndDialog(hWnd,IDCANCEL);
		return NULL;
	}

	return mbi.hwndMB;
}
HWND FindMenuHwndByWnd(HWND hWnd)
{
	ATLASSERT(IsWindow(hWnd));
	return SHFindMenuBar(hWnd);
}

HMENU FindPopupMenuByMenuHwnd(HWND hMenuWnd,UINT nSoftKeyID)
{
	ATLASSERT(IsWindow(hMenuWnd));
    return (HMENU)SendMessage(hMenuWnd, SHCMBM_GETSUBMENU, 0,nSoftKeyID);
}

void EnableToolBarMenuItem(HWND hMenuWnd,UINT nSoftKeyID,BOOL bEnable)
{
	TBBUTTONINFO tbbi;
	tbbi.cbSize = sizeof(tbbi);
	tbbi.dwMask = TBIF_STATE;
	tbbi.fsState = (bEnable == TRUE)?TBSTATE_ENABLED:TBSTATE_INDETERMINATE;
	
	SendMessage (hMenuWnd, TB_SETBUTTONINFO, nSoftKeyID, (LPARAM)&tbbi);
}

void ModifyToolBarMenuItemText(HWND hMenuWnd,TCHAR *szItemText,UINT nSoftKeyID,BOOL bGetOperation)
{
	TBBUTTONINFO tbbi;
	tbbi.cbSize = sizeof(tbbi);
	tbbi.dwMask = TBIF_TEXT;
	tbbi.pszText = szItemText;
	tbbi.cchText = wcslen(szItemText) +1;//sizeof(szBuf)/sizeof(szBuf[0]);
	UINT nOperationCode = (bGetOperation)?TB_GETBUTTONINFO:TB_SETBUTTONINFO;

	SendMessage (hMenuWnd, nOperationCode, nSoftKeyID, (LPARAM)&tbbi);
}

void ModifyToolBarMenuCommand(HWND hMenuWnd,int nIDCommand,UINT nSoftKeyID)
{
	TBBUTTONINFO tbbi;
	tbbi.cbSize = sizeof(tbbi);
	tbbi.dwMask = TBIF_COMMAND;
	tbbi.idCommand = nIDCommand; 
	
	SendMessage (hMenuWnd, TB_SETBUTTONINFO, nSoftKeyID, (LPARAM)&tbbi);
}

HMENU FindPopupMenuByWnd(HWND hWnd,UINT nSoftKeyID)
{
	ATLASSERT(IsWindow(hWnd));
	HWND hMenuWnd = FindMenuHwndByWnd(hWnd); 
	return 	FindPopupMenuByMenuHwnd(hMenuWnd,nSoftKeyID);
}

HFONT CreateItemFont(LONG nFontSize,LONG nWeight)
{
	LOGFONT lf;
	memset(&lf, 0, sizeof(LOGFONT));
	HDC hdc = GetDC(NULL);
	lf.lfHeight = -nFontSize * GetDeviceCaps(hdc, LOGPIXELSY) / 72;
	ReleaseDC(NULL, hdc);
	lf.lfWeight = nWeight;
	return CreateFontIndirect(&lf);
}

⌨️ 快捷键说明

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