📄 commctrl.h
字号:
typedef struct tagNMTBSAVE
{
NMHDR hdr;
DWORD* pData;
DWORD* pCurrent;
UINT cbData;
int iItem;
int cButtons;
TBBUTTON tbButton;
} NMTBSAVE, *LPNMTBSAVE;
typedef struct tagNMTBRESTORE
{
NMHDR hdr;
DWORD* pData;
DWORD* pCurrent;
UINT cbData;
int iItem;
int cButtons;
int cbBytesPerRecord;
TBBUTTON tbButton;
} NMTBRESTORE, *LPNMTBRESTORE;
#endif // (_WIN32_IE >= 0x0500)
typedef struct tagNMTBGETINFOTIPA
{
NMHDR hdr;
LPSTR pszText;
int cchTextMax;
int iItem;
LPARAM lParam;
} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
typedef struct tagNMTBGETINFOTIPW
{
NMHDR hdr;
LPWSTR pszText;
int cchTextMax;
int iItem;
LPARAM lParam;
} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
#ifdef UNICODE
#define TBN_GETINFOTIP TBN_GETINFOTIPW
#define NMTBGETINFOTIP NMTBGETINFOTIPW
#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
#else
#define TBN_GETINFOTIP TBN_GETINFOTIPA
#define NMTBGETINFOTIP NMTBGETINFOTIPA
#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
#endif
#define TBNF_IMAGE 0x00000001
#define TBNF_TEXT 0x00000002
#define TBNF_DI_SETITEM 0x10000000
typedef struct {
NMHDR hdr;
DWORD dwMask; // [in] Specifies the values requested .[out] Client ask the data to be set for future use
int idCommand; // [in] id of button we're requesting info for
DWORD_PTR lParam; // [in] lParam of button
int iImage; // [out] image index
LPSTR pszText; // [out] new text for item
int cchText; // [in] size of buffer pointed to by pszText
} NMTBDISPINFOA, *LPNMTBDISPINFOA;
typedef struct {
NMHDR hdr;
DWORD dwMask; //[in] Specifies the values requested .[out] Client ask the data to be set for future use
int idCommand; // [in] id of button we're requesting info for
DWORD_PTR lParam; // [in] lParam of button
int iImage; // [out] image index
LPWSTR pszText; // [out] new text for item
int cchText; // [in] size of buffer pointed to by pszText
} NMTBDISPINFOW, *LPNMTBDISPINFOW;
#ifdef UNICODE
#define TBN_GETDISPINFO TBN_GETDISPINFOW
#define NMTBDISPINFO NMTBDISPINFOW
#define LPNMTBDISPINFO LPNMTBDISPINFOW
#else
#define TBN_GETDISPINFO TBN_GETDISPINFOA
#define NMTBDISPINFO NMTBDISPINFOA
#define LPNMTBDISPINFO LPNMTBDISPINFOA
#endif
// Return codes for TBN_DROPDOWN
#define TBDDRET_DEFAULT 0
#define TBDDRET_NODEFAULT 1
#define TBDDRET_TREATPRESSED 2 // Treat as a standard press button
#endif
#ifdef UNICODE
#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOW
#else
#define TBN_GETBUTTONINFO TBN_GETBUTTONINFOA
#endif
#if (_WIN32_IE >= 0x0300)
#define TBNOTIFYA NMTOOLBARA
#define TBNOTIFYW NMTOOLBARW
#define LPTBNOTIFYA LPNMTOOLBARA
#define LPTBNOTIFYW LPNMTOOLBARW
#else
#define tagNMTOOLBARA tagTBNOTIFYA
#define NMTOOLBARA TBNOTIFYA
#define LPNMTOOLBARA LPTBNOTIFYA
#define tagNMTOOLBARW tagTBNOTIFYW
#define NMTOOLBARW TBNOTIFYW
#define LPNMTOOLBARW LPTBNOTIFYW
#endif
#define TBNOTIFY NMTOOLBAR
#define LPTBNOTIFY LPNMTOOLBAR
#if (_WIN32_IE >= 0x0300)
typedef struct tagNMTOOLBARA {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPSTR pszText;
#if (_WIN32_IE >= 0x500)
RECT rcButton;
#endif
} NMTOOLBARA, FAR* LPNMTOOLBARA;
#endif
#if (_WIN32_IE >= 0x0300)
typedef struct tagNMTOOLBARW {
NMHDR hdr;
int iItem;
TBBUTTON tbButton;
int cchText;
LPWSTR pszText;
#if (_WIN32_IE >= 0x500)
RECT rcButton;
#endif
} NMTOOLBARW, FAR* LPNMTOOLBARW;
#endif
#ifdef UNICODE
#define NMTOOLBAR NMTOOLBARW
#define LPNMTOOLBAR LPNMTOOLBARW
#else
#define NMTOOLBAR NMTOOLBARA
#define LPNMTOOLBAR LPNMTOOLBARA
#endif
#endif
#endif // NOTOOLBAR
#if (_WIN32_IE >= 0x0300)
//====== REBAR CONTROL ========================================================
#ifndef NOREBAR
#ifdef _WIN32
#define REBARCLASSNAMEW L"ReBarWindow32"
#define REBARCLASSNAMEA "ReBarWindow32"
#ifdef UNICODE
#define REBARCLASSNAME REBARCLASSNAMEW
#else
#define REBARCLASSNAME REBARCLASSNAMEA
#endif
#else
#define REBARCLASSNAME "ReBarWindow"
#endif
#define RBIM_IMAGELIST 0x00000001
// begin_r_commctrl
#if (_WIN32_IE >= 0x0400)
#define RBS_TOOLTIPS 0x0100
#define RBS_VARHEIGHT 0x0200
#define RBS_BANDBORDERS 0x0400
#define RBS_FIXEDORDER 0x0800
#define RBS_REGISTERDROP 0x1000
#define RBS_AUTOSIZE 0x2000
#define RBS_VERTICALGRIPPER 0x4000 // this always has the vertical gripper (default for horizontal mode)
#define RBS_DBLCLKTOGGLE 0x8000
#else
#define RBS_TOOLTIPS 0x00000100
#define RBS_VARHEIGHT 0x00000200
#define RBS_BANDBORDERS 0x00000400
#define RBS_FIXEDORDER 0x00000800
#endif // _WIN32_IE >= 0x0400
// end_r_commctrl
typedef struct tagREBARINFO
{
UINT cbSize;
UINT fMask;
#ifndef NOIMAGEAPIS
HIMAGELIST himl;
#else
HANDLE himl;
#endif
} REBARINFO, FAR *LPREBARINFO;
#define RBBS_BREAK 0x00000001 // break to new line
#define RBBS_FIXEDSIZE 0x00000002 // band can't be sized
#define RBBS_CHILDEDGE 0x00000004 // edge around top & bottom of child window
#define RBBS_HIDDEN 0x00000008 // don't show
#define RBBS_NOVERT 0x00000010 // don't show when vertical
#define RBBS_FIXEDBMP 0x00000020 // bitmap doesn't move during band resize
#if (_WIN32_IE >= 0x0400) //
#define RBBS_VARIABLEHEIGHT 0x00000040 // allow autosizing of this child vertically
#define RBBS_GRIPPERALWAYS 0x00000080 // always show the gripper
#define RBBS_NOGRIPPER 0x00000100 // never show the gripper
#if (_WIN32_IE >= 0x0500) //
#define RBBS_USECHEVRON 0x00000200 // display drop-down button for this band if it's sized smaller than ideal width
#if (_WIN32_IE >= 0x0501) //
#define RBBS_HIDETITLE 0x00000400 // keep band title hidden
#endif // 0x0501 //
#endif // 0x0500 //
#endif // 0x0400 //
#define RBBIM_STYLE 0x00000001
#define RBBIM_COLORS 0x00000002
#define RBBIM_TEXT 0x00000004
#define RBBIM_IMAGE 0x00000008
#define RBBIM_CHILD 0x00000010
#define RBBIM_CHILDSIZE 0x00000020
#define RBBIM_SIZE 0x00000040
#define RBBIM_BACKGROUND 0x00000080
#define RBBIM_ID 0x00000100
#if (_WIN32_IE >= 0x0400)
#define RBBIM_IDEALSIZE 0x00000200
#define RBBIM_LPARAM 0x00000400
#define RBBIM_HEADERSIZE 0x00000800 // control the size of the header
#endif
typedef struct tagREBARBANDINFOA
{
UINT cbSize;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
#if (_WIN32_IE >= 0x0400)
UINT cyChild;
UINT cyMaxChild;
UINT cyIntegral;
UINT cxIdeal;
LPARAM lParam;
UINT cxHeader;
#endif
} REBARBANDINFOA, FAR *LPREBARBANDINFOA;
typedef REBARBANDINFOA CONST FAR *LPCREBARBANDINFOA;
#define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID)
#define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID)
typedef struct tagREBARBANDINFOW
{
UINT cbSize;
UINT fMask;
UINT fStyle;
COLORREF clrFore;
COLORREF clrBack;
LPWSTR lpText;
UINT cch;
int iImage;
HWND hwndChild;
UINT cxMinChild;
UINT cyMinChild;
UINT cx;
HBITMAP hbmBack;
UINT wID;
#if (_WIN32_IE >= 0x0400)
UINT cyChild;
UINT cyMaxChild;
UINT cyIntegral;
UINT cxIdeal;
LPARAM lParam;
UINT cxHeader;
#endif
} REBARBANDINFOW, FAR *LPREBARBANDINFOW;
typedef REBARBANDINFOW CONST FAR *LPCREBARBANDINFOW;
#ifdef UNICODE
#define REBARBANDINFO REBARBANDINFOW
#define LPREBARBANDINFO LPREBARBANDINFOW
#define LPCREBARBANDINFO LPCREBARBANDINFOW
#define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE
#else
#define REBARBANDINFO REBARBANDINFOA
#define LPREBARBANDINFO LPREBARBANDINFOA
#define LPCREBARBANDINFO LPCREBARBANDINFOA
#define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE
#endif
#define RB_INSERTBANDA (WM_USER + 1)
#define RB_DELETEBAND (WM_USER + 2)
#define RB_GETBARINFO (WM_USER + 3)
#define RB_SETBARINFO (WM_USER + 4)
#if (_WIN32_IE < 0x0400)
#define RB_GETBANDINFO (WM_USER + 5)
#endif
#define RB_SETBANDINFOA (WM_USER + 6)
#define RB_SETPARENT (WM_USER + 7)
#if (_WIN32_IE >= 0x0400)
#define RB_HITTEST (WM_USER + 8)
#define RB_GETRECT (WM_USER + 9)
#endif
#define RB_INSERTBANDW (WM_USER + 10)
#define RB_SETBANDINFOW (WM_USER + 11)
#define RB_GETBANDCOUNT (WM_USER + 12)
#define RB_GETROWCOUNT (WM_USER + 13)
#define RB_GETROWHEIGHT (WM_USER + 14)
#if (_WIN32_IE >= 0x0400)
#define RB_IDTOINDEX (WM_USER + 16) // wParam == id
#define RB_GETTOOLTIPS (WM_USER + 17)
#define RB_SETTOOLTIPS (WM_USER + 18)
#define RB_SETBKCOLOR (WM_USER + 19) // sets the default BK color
#define RB_GETBKCOLOR (WM_USER + 20) // defaults to CLR_NONE
#define RB_SETTEXTCOLOR (WM_USER + 21)
#define RB_GETTEXTCOLOR (WM_USER + 22) // defaults to 0x00000000
#define RB_SIZETORECT (WM_USER + 23) // resize the rebar/break bands and such to this rect (lparam)
#endif // _WIN32_IE >= 0x0400
#define RB_SETCOLORSCHEME CCM_SETCOLORSCHEME // lParam is color scheme
#define RB_GETCOLORSCHEME CCM_GETCOLORSCHEME // fills in COLORSCHEME pointed to by lParam
#ifdef UNICODE
#define RB_INSERTBAND RB_INSERTBANDW
#define RB_SETBANDINFO RB_SETBANDINFOW
#else
#define RB_INSERTBAND RB_INSERTBANDA
#define RB_SETBANDINFO RB_SETBANDINFOA
#endif
#if (_WIN32_IE >= 0x0400)
// for manual drag control
// lparam == cursor pos
// -1 means do it yourself.
// -2 means use what you had saved before
#define RB_BEGINDRAG (WM_USER + 24)
#define RB_ENDDRAG (WM_USER + 25)
#define RB_DRAGMOVE (WM_USER + 26)
#define RB_GETBARHEIGHT (WM_USER + 27)
#define RB_GETBANDINFOW (WM_USER + 28)
#define RB_GETBANDINFOA (WM_USER + 29)
#ifdef UNICODE
#define RB_GETBANDINFO RB_GETBANDINFOW
#else
#define RB_GETBANDINFO RB_GETBANDINFOA
#endif
#define RB_MINIMIZEBAND (WM_USER + 30)
#define RB_MAXIMIZEBAND (WM_USER + 31)
#define RB_GETDROPTARGET (CCM_GETDROPTARGET)
#define RB_GETBANDBORDERS (WM_USER + 34) // returns in lparam = lprc the amount of edges added to band wparam
#define RB_SHOWBAND (WM_USER + 35) // show/hide band
#define RB_SETPALETTE (WM_USER + 37)
#define RB_GETPALETTE (WM_USER + 38)
#define RB_MOVEBAND (WM_USER + 39)
#define RB_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define RB_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#endif // _WIN32_IE >= 0x0400
#if (_WIN32_IE >= 0x0500)
#define RB_PUSHCHEVRON (WM_USER + 43)
#endif // _WIN32_I
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -