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

📄 extensions.h

📁 一个用vc
💻 H
📖 第 1 页 / 共 2 页
字号:
#if !defined (_EXTENSIONS_H_)
#define _EXTENSIONS_H_


//
// WINDOWSX.H corrections
//
// These definitions are incorrect in WINDOWSX.H.
//


#undef      GetWindowID
#define     GetWindowID(hwnd)            (int)(short)GetDlgCtrlID(hwnd)

#undef      HANDLE_WM_GETDLGCODE
#define     HANDLE_WM_GETDLGCODE(hwnd, wParam, lParam, fn) \
                    (LRESULT)(DWORD)(UINT)(fn)((hwnd))
#undef      FORWARD_WM_GETDLGCODE
#define     FORWARD_WM_GETDLGCODE(hwnd, fn) \
                    (UINT)(DWORD)(fn)((hwnd), WM_GETDLGCODE, 0, 0)

//
// WINDOWSX.H extensions
//
// These definitions should be in WINDOWSX.H but aren't.
//

/* int Cls_OnCaptureChanged(HWND hwnd, HWND newWnd) */
#define HANDLE_WM_CAPTURECHANGED(hwnd, wParam, lParam, fn) \
      (LRESULT)(fn)((hwnd), (HWND) lParam)
#define FORWARD_WM_CAPTURECHANGED(hwnd, newWnd, fn) \
       (LRESULT)(fn)((hwnd), WM_CAPTURECHANGED, 0, (LPARAM)(HWND)(newWnd))

/* BOOL Cls_OnContextMenu (HWND hwnd, HWND hwndCtl, int xPos, int yPos) */
#define HANDLE_WM_CONTEXTMENU(hwnd, wParam, lParam, fn) \
    (LRESULT)(DWORD)(BOOL)(fn)((hwnd), (HWND) wParam, (int)LOWORD(lParam), (int)HIWORD(lParam))
#define FORWARD_WM_CONTEXTMENU(hwnd, hwndCtl, xPos, yPos, fn) \
    (BOOL)(DWORD)(fn)((hwnd), WM_CONTEXTMENU, (WPARAM)(HWND)hwndCtl, MAKELPARAM((xPos), (yPos)))

/* void Cls_OnDisplayChange (HWND hwnd, UINT cBitsPerPixel, UINT cx, UINT cy) */
#define HANDLE_WM_DISPLAYCHANGE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (UINT)(wParam), (UINT)LOWORD(lParam), (UINT)HIWORD(lParam)),0L)
#define FORWARD_WM_DISPLAYCHANGE(hwnd, cBitsPerPixel, cxScreen, cyScreen, fn) \
    (void)(fn)((hwnd), WM_DISPLAYCHANGE, (WPARAM)(UINT)(cBitsPerPixel), MAKELPARAM((cxScreen), (cyScreen)))

/* void Cls_OnEnterMenuLoop(HWND hwnd, BOOL isTrackPopup) */
#define HANDLE_WM_ENTERMENULOOP(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (BOOL)wParam), 0L)
#define FORWARD_WM_ENTERMENULOOP(hwnd, isTrackPopup, fn) \
    (void)(fn)((hwnd), WM_ENTERMENULOOP, (WPARAM)(isTrackPopup), 0L)

/* void Cls_OnExitMenuLoop(HWND hwnd, BOOL isTrackPopup) */
#define HANDLE_WM_EXITMENULOOP(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (BOOL)wParam), 0L)
#define FORWARD_WM_EXITMENULOOP(hwnd, isTrackPopup, fn) \
    (void)(fn)((hwnd), WM_EXITMENULOOP, (WPARAM)(isTrackPopup), 0L)

/* void Cls_OnEnterSizeMove(HWND hwnd) */
#define HANDLE_WM_ENTERSIZEMOVE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd)), 0L)
#define FORWARD_WM_ENTERSIZEMOVE(hwnd, fn) \
    (void)(fn)((hwnd), WM_ENTERSIZEMOVE, 0, 0)

/* void Cls_OnExitSizeMove(HWND hwnd) */
#define HANDLE_WM_EXITSIZEMOVE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd)), 0L)
#define FORWARD_WM_EXITSIZEMOVE(hwnd, fn) \
    (void)(fn)((hwnd), WM_EXITSIZEMOVE, 0, 0)

/* void Cls_OnHelp(HWND hwnd, LPHELPINFO helpinfo) */
#define HANDLE_WM_HELP(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (LPHELPINFO)(lParam)),0L)
#define FORWARD_WM_HELP(hwnd, lphi, fn) \
    (void)(fn)((hwnd),WM_HELP,(WPARAM)0,(LPARAM)(LPHELPINFO)(lphi))

/* void Cls_OnPrintClient(HWND hwnd, HDC hdc, UINT uFlags) */
#define HANDLE_WM_PRINTCLIENT(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (HDC)(wParam), (UINT)(lParam)),0L)
#define FORWARD_WM_PRINTCLIENT(hwnd, hdc, uFlags, fn) \
    (void)(fn)((hwnd),WM_PRINTCLIENT,(WPARAM)(HDC)(wParam),(LPARAM)(UINT)(uFlags))

/* void Cls_OnSettingChange(HWND hwnd, UINT Flags, LPCTSTR key) */
#define HANDLE_WM_SETTINGCHANGE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (UINT)(wParam),(LPCTSTR)(lParam)),0L)
#define FORWARD_WM_SETTINGCHANGE(hwnd, uiFlag, pszMetrics, fn) \
    (void)(fn)((hwnd),WM_SETTINGCHANGE,(WPARAM)(UINT)uiFlag,(LPARAM)(LPCTSTR)pszMetrics)

/* void Cls_OnUserChanged(HWND hwnd) */
#define HANDLE_WM_USERCHANGED(hwnd, wParam, lParam, fn) \
    ((fn)(hwnd),0L)
#define FORWARD_WM_USERCHANGED(hwnd, fn) \
    (void)(fn)((hwnd),WM_USERCHANGED,(WPARAM)0,(LPARAM)0)

/*void Button_Click(HWND hwnd) */
#define Button_Click(hwnd) \
    (void)SendMessage((hwnd), BM_CLICK, 0, 0)

/* int Edit_GetThumb(HWND hwnd) */
#define Edit_GetThumb(hwnd) \
    (int)SendMessage((hwnd), EM_GETTHUMB, 0, 0)

/* int Edit_CharFromPos(HWND hwnd, int x, int y) */
#define Edit_CharFromPos(hwnd, x, y) \
    (int)SendMessage((hwnd), EM_CHARFROMPOS, 0, MAKELPARAM((x), (y)))

/* void Edit_GetWordBreakProcEx(HWND hwnd) */
#define Edit_GetWordBreakProcEx(hwnd) \
    ((WORDBREAKPROCEX)SendMessage((hwndCtl), EM_GETWORDBREAKPROCEX, 0, 0))

/* BOOL Edit_LineScroll(HWND hwnd, int hscroll, int vscroll) */
#define Edit_LineScroll(hwnd, hscroll, vscroll) \
    (BOOL)SendMessage((hwnd), (WPARAM)(int)(hScroll), (LPARAM)(int)(vscroll))

/* void Edit_PosFromChar(HWND hwnd, LPPOINT pt, int pos) */
#define Edit_PosFromChar(hwnd, pt, pos) \
    (void)SendMessage((hwnd), EM_POSFROMCHAR, (WPARAM)(LPPOINT)(pt), (LPARAM)(int)(pos))

/* void Edit_SetMargins(HWND hwnd, int which, int left, int right) */
#define Edit_SetMargins(hwnd, which, left, right) \
   (void)SendMessage((hwnd), EM_SETMARGINS, (WPARAM)(which), MAKELPARAM((left), (right)))
    
/* void Edit_SetWordBreakProcEx(HWND hwnd, EDITWORDBREAKPROCEX wbp) */
#define Edit_SetWordBreakProcEx(hwndCtl, wbp) \
    ((void)SendMessage((hwndCtl), EM_SETWORDBREAKPROCEX, 0L, (LPARAM)(EDITWORDBREAKPROCEX)(wbp)))

/* HANDLE Static_SetImage(HWND hwnd, int imagetype, HANDLE himage) */
#define Static_SetImage(hwnd, imagetype, himage) \
    (HANDLE)SendMessage((hwnd), STM_SETIMAGE, (WPARAM)(imagetype), \
                              (LPARAM)(HANDLE)(himage))

/* HANDLE Static_GetImage(HWND hwnd, int imagetype) */
#define Static_GetImage(hwnd, imagetype) \
    (HANDLE)SendMessage((hwnd), STM_GETIMAGE, (WPARAM)(imagetype), 0)

/* int ListBox_AddFile(HWND hwnd, LPCTSTR filename) */
#define ListBox_AddFile(hwnd, filename) \
    (int)SendMessage((hwnd), LB_ADDFILE, 0, (LPARAM)(LPCTSTR)(filename))

/* int ListBox_GetAnchorIndex(HWND hwnd) */
#define ListBox_GetAnchorIndex(hwnd) \
   (int)SendMessage((hwnd), LB_GETANCHORINDEX, 0, 0)

/* LCID ListBox_GetLocale(HWND hwnd) */
#define ListBox_GetLocale(hwnd) \
   (LCID)SendMessage((hwnd), LB_GETLOCALE, 0, 0)

/* int ListBox_InitStorage(HWND hwnd, int nItems, int stringBytes) */
#define ListBox_InitStorage(hwnd, nItems, stringBytes) \
   (int)SendMessage((hwnd), LB_INITSTORAGE, (WPARAM)(int)(nItems), \
            (LPARAM)(int)(stringBytes))

/* int ListBox_ItemFromPoint(HWND hwnd, int x, int y) */
#define ListBox_ItemFromPoint(hwnd, x, y) \
    (int)SendMessage((hwnd), LB_ITEMFROMPOINT, 0, MAKELONG((x), (y)))

/* int ListBox_SelItemRangeEx(HWND hwnd, int first, int last) */
#define ListBox_SelItemRangeEx(hwnd, first, last) \
    (int)SendMessage((hwnd), LB_SELITEMRANGEEX, (WPARAM)(int)(first), \
                (LPARAM)(int)(last))

/* int ListBox_SetAnchorIndex(HWND hwnd, int index) */
#define ListBox_SetAnchorIndex(hwnd, index) \
    (int)SendMessage((hwnd), LB_SETANCHORINDEX, (WPARAM)(int)(index), 0)

/* LCID ListBox_SetLocale(HWND hwnd, LCID locale) */
#define ListBox_SetLocale(hwnd, locale) \
    (LCID)SendMessage((hwnd), LB_SETLOCALE, (WPARAM)(LCID)(locale), 0)

#define ComboBox_GetDroppedWidth(hwnd) \
    ((int)(DWORD)SendMessage((hwnd), CB_GETDROPPEDWIDTH, 0, 0))

/* LCID ComboBox_GetLocale(HWND hwnd) */
#define ComboBox_GetLocale(hwnd) \
   (LCID)SendMessage((hwnd), CB_GETLOCALE, 0, 0)

#define ComboBox_GetTopIndex(hwndCtl) \
    ((int)(DWORD)SendMessage((hwndCtl), CB_GETTOPINDEX, 0L, 0L))

#define ComboBox_SetDroppedWidth(hwnd, width) \
    (int)SendMessage((hwnd), CB_SETDROPPEDWIDTH, (WPARAM)(int)width, 0)

/* int ComboBox_SetHorizontalExtent(HWND hwnd, int width) */
#define ComboBox_SetHorizontalExtent(hwnd, width) \
    (void)SendMessage((hwnd), CB_SETHORIZONTALEXTENT, (WPARAM)(int)(width), 0)

/* LCID ComboBox_SetLocale(HWND hwnd, LCID locale) */
#define ComboBox_SetLocale(hwnd, locale) \
    (LCID)SendMessage((hwnd), CB_SETLOCALE, (WPARAM)(LCID)(locale), 0)

#define ComboBox_SetTopIndex(hwndCtl, indexTop) \
    ((int)(DWORD)SendMessage((hwndCtl), CB_SETTOPINDEX, (WPARAM)(int)(indexTop), 0L))


//
// COMMCTRL.H additions
//
// These definitions should be in COMMCTRL.H.
//

//
// Toolbar message macros
//

#define Toolbar_AddBitmap(hwnd, nButtons, lptbab) \
    (int)SendMessage((hwnd),TB_ADDBITMAP,(WPARAM)(UINT)(nButtons),(LPARAM)(LPTBADDBITMAP)(lptbab))

#define Toolbar_AddButtons(hwnd, uNumButtons, lpButtons) \
    (BOOL)SendMessage((hwnd),TB_ADDBUTTONS,(WPARAM)(UINT)(uNumButtons),(LPARAM)(LPTBBUTTON)(lpButtons))

#define Toolbar_AddString(hwnd, hinst, idString) \
    (int)SendMessage((hwnd),TB_ADDSTRING,(WPARAM)(HINSTANCE)(hinst),(LPARAM)(LPCTSTR)(idString))

#define Toolbar_AutoSize(hwnd) \
    (void)SendMessage((hwnd),TB_AUTOSIZE,(WPARAM)0,(LPARAM)0)

#define Toolbar_ButtonCount(hwnd) \
    (UINT)SendMessage((hwnd),TB_BUTTONCOUNT,(WPARAM)0,(LPARAM)0)

#define Toolbar_ButtonStructSize(hwnd) \
    (void)SendMessage((hwnd),TB_BUTTONSTRUCTSIZE,(WPARAM)sizeof(TBBUTTON),(LPARAM)0)

#define Toolbar_ChangeBitmap(hwnd, idButton, iBitmap) \
    (BOOL)SendMessage((hwnd),TB_CHANGEBITMAP,(WPARAM)(int)(idButton),(LPARAM)(UINT)(iBitmap))

#define Toolbar_CheckButton(hwnd, idButton, fCheck) \
    (BOOL)SendMessage((hwnd),TB_CHECKBUTTON,(WPARAM)(int)(idButton),(LPARAM)(BOOL)(fCheck))

#define Toolbar_CommandToIndex(hwnd, idButton) \
    (UINT)SendMessage((hwnd),TB_COMMANDTOINDEX,(WPARAM)(int)(idButton),(LPARAM)0)

#define Toolbar_Customize(hwnd) \
    (void)SendMessage((hwnd),TB_CUSTOMIZE,(WPARAM)0,(LPARAM)0)

#define Toolbar_DeleteButton(hwnd, iButton) \
    (BOOL)SendMessage((hwnd),TB_DELETEBUTTON,(WPARAM)(UINT)(iButton),(LPARAM)0)

#define Toolbar_EnableButton(hwnd, idButton, fEnable) \
    (BOOL)SendMessage((hwnd),TB_ENABLEBUTTON,(WPARAM)(int)(idButton),(LPARAM)(BOOL)(fEnable))

⌨️ 快捷键说明

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