📄 public.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 + -