亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? windowsx.h

?? VC++網(wǎng)絡(luò)通信編程實(shí)例案例精選》源代碼 第三部分
?? H
?? 第 1 頁 / 共 5 頁
字號(hào):
/*****************************************************************************\
*                                                                             *
* windowsx.h -  Macro APIs, window message crackers, and control APIs         *
*                                                                             *
*               Version Win32 / Windows NT                                    *
*                                                                             *
*               Copyright (c) 1992-1995, Microsoft Corp.  All rights reserved.*
*                                                                             *
\*****************************************************************************/

#ifndef _INC_WINDOWSX
#define _INC_WINDOWSX

#ifdef __cplusplus
extern "C" {            /* Assume C declarations for C++ */
#endif /* __cplusplus */

/****** KERNEL Macro APIs ****************************************************/

#define     GetInstanceModule(hInstance) (HMODULE)(hInstance)

#define     GlobalPtrHandle(lp)         \
                ((HGLOBAL)GlobalHandle(lp))

#define     GlobalLockPtr(lp)                \
                ((BOOL)GlobalLock(GlobalPtrHandle(lp)))
#define     GlobalUnlockPtr(lp)      \
                GlobalUnlock(GlobalPtrHandle(lp))

#define     GlobalAllocPtr(flags, cb)        \
                (GlobalLock(GlobalAlloc((flags), (cb))))
#define     GlobalReAllocPtr(lp, cbNew, flags)       \
                (GlobalUnlockPtr(lp), GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) , (cbNew), (flags))))
#define     GlobalFreePtr(lp)                \
                (GlobalUnlockPtr(lp), (BOOL)GlobalFree(GlobalPtrHandle(lp)))

/****** GDI Macro APIs *******************************************************/

#define     DeletePen(hpen)      DeleteObject((HGDIOBJ)(HPEN)(hpen))
#define     SelectPen(hdc, hpen)    ((HPEN)SelectObject((hdc), (HGDIOBJ)(HPEN)(hpen)))
#define     GetStockPen(i)       ((HPEN)GetStockObject(i))

#define     DeleteBrush(hbr)     DeleteObject((HGDIOBJ)(HBRUSH)(hbr))
#define     SelectBrush(hdc, hbr)   ((HBRUSH)SelectObject((hdc), (HGDIOBJ)(HBRUSH)(hbr)))
#define     GetStockBrush(i)     ((HBRUSH)GetStockObject(i))

#define     DeleteRgn(hrgn)      DeleteObject((HGDIOBJ)(HRGN)(hrgn))

#define     CopyRgn(hrgnDst, hrgnSrc)               CombineRgn(hrgnDst, hrgnSrc, 0, RGN_COPY)
#define     IntersectRgn(hrgnResult, hrgnA, hrgnB)  CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_AND)
#define     SubtractRgn(hrgnResult, hrgnA, hrgnB)   CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_DIFF)
#define     UnionRgn(hrgnResult, hrgnA, hrgnB)      CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_OR)
#define     XorRgn(hrgnResult, hrgnA, hrgnB)        CombineRgn(hrgnResult, hrgnA, hrgnB, RGN_XOR)

#define     DeletePalette(hpal)     DeleteObject((HGDIOBJ)(HPALETTE)(hpal))

#define     DeleteFont(hfont)            DeleteObject((HGDIOBJ)(HFONT)(hfont))
#define     SelectFont(hdc, hfont)  ((HFONT)SelectObject((hdc), (HGDIOBJ)(HFONT)(hfont)))
#define     GetStockFont(i)      ((HFONT)GetStockObject(i))

#define     DeleteBitmap(hbm)       DeleteObject((HGDIOBJ)(HBITMAP)(hbm))
#define     SelectBitmap(hdc, hbm)  ((HBITMAP)SelectObject((hdc), (HGDIOBJ)(HBITMAP)(hbm)))

#define     InsetRect(lprc, dx, dy) InflateRect((lprc), -(dx), -(dy))

/****** USER Macro APIs ******************************************************/

#define     GetWindowInstance(hwnd) ((HMODULE)GetWindowLong(hwnd, GWL_HINSTANCE))

#define     GetWindowStyle(hwnd)    ((DWORD)GetWindowLong(hwnd, GWL_STYLE))
#define     GetWindowExStyle(hwnd)  ((DWORD)GetWindowLong(hwnd, GWL_EXSTYLE))

#define     GetWindowOwner(hwnd)    GetWindow(hwnd, GW_OWNER)

#define     GetFirstChild(hwnd)     GetTopWindow(hwnd)
#define     GetFirstSibling(hwnd)   GetWindow(hwnd, GW_HWNDFIRST)
#define     GetLastSibling(hwnd)    GetWindow(hwnd, GW_HWNDLAST)
#define     GetNextSibling(hwnd)    GetWindow(hwnd, GW_HWNDNEXT)
#define     GetPrevSibling(hwnd)    GetWindow(hwnd, GW_HWNDPREV)

#define     GetWindowID(hwnd)            GetDlgCtrlID(hwnd)

#define     SetWindowRedraw(hwnd, fRedraw)  \
                    ((void)SendMessage(hwnd, WM_SETREDRAW, (WPARAM)(BOOL)(fRedraw), 0L))

#define     SubclassWindow(hwnd, lpfn)       \
              ((WNDPROC)SetWindowLong((hwnd), GWL_WNDPROC, (LPARAM)(WNDPROC)(lpfn)))

#define     IsMinimized(hwnd)        IsIconic(hwnd)
#define     IsMaximized(hwnd)        IsZoomed(hwnd)
#define     IsRestored(hwnd)    ((GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE)) == 0L)

#define     SetWindowFont(hwnd, hfont, fRedraw) FORWARD_WM_SETFONT((hwnd), (hfont), (fRedraw), SendMessage)

#define     GetWindowFont(hwnd)                 FORWARD_WM_GETFONT((hwnd), SendMessage)
#if (WINVER >= 0x030a)
#define     MapWindowRect(hwndFrom, hwndTo, lprc) \
                    MapWindowPoints((hwndFrom), (hwndTo), (POINT *)(lprc), 2)
#endif
#define     IsLButtonDown()  (GetKeyState(VK_LBUTTON) < 0)
#define     IsRButtonDown()  (GetKeyState(VK_RBUTTON) < 0)
#define     IsMButtonDown()  (GetKeyState(VK_MBUTTON) < 0)

#define     SubclassDialog(hwndDlg, lpfn) \
             ((DLGPROC)SetWindowLong(hwndDlg, DWL_DLGPROC, (LPARAM)(DLGPROC)(lpfn)))

#define     SetDlgMsgResult(hwnd, msg, result) (( \
        (msg) == WM_CTLCOLORMSGBOX      || \
        (msg) == WM_CTLCOLOREDIT        || \
        (msg) == WM_CTLCOLORLISTBOX     || \
        (msg) == WM_CTLCOLORBTN         || \
        (msg) == WM_CTLCOLORDLG         || \
        (msg) == WM_CTLCOLORSCROLLBAR   || \
        (msg) == WM_CTLCOLORSTATIC      || \
        (msg) == WM_COMPAREITEM         || \
        (msg) == WM_VKEYTOITEM          || \
        (msg) == WM_CHARTOITEM          || \
        (msg) == WM_QUERYDRAGICON       || \
        (msg) == WM_INITDIALOG             \
    ) ? (BOOL)(result) : (SetWindowLong((hwnd), DWL_MSGRESULT, (LPARAM)(LRESULT)(result)), TRUE))

#define     DefDlgProcEx(hwnd, msg, wParam, lParam, pfRecursion) \
    (*(pfRecursion) = TRUE, DefDlgProc(hwnd, msg, wParam, lParam))

#define     CheckDefDlgRecursion(pfRecursion) \
    if (*(pfRecursion)) { *(pfRecursion) = FALSE; return FALSE; }

/****** Message crackers ****************************************************/

#define HANDLE_MSG(hwnd, message, fn)    \
    case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))

/* void Cls_OnCompacting(HWND hwnd, UINT compactRatio) */
#define HANDLE_WM_COMPACTING(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (UINT)(wParam)), 0L)
#define FORWARD_WM_COMPACTING(hwnd, compactRatio, fn) \
    (void)(fn)((hwnd), WM_COMPACTING, (WPARAM)(UINT)(compactRatio), 0L)

/* void Cls_OnWinIniChange(HWND hwnd, LPCTSTR lpszSectionName) */
#define HANDLE_WM_WININICHANGE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (LPCTSTR)(lParam)), 0L)
#define FORWARD_WM_WININICHANGE(hwnd, lpszSectionName, fn) \
    (void)(fn)((hwnd), WM_WININICHANGE, 0L, (LPARAM)(LPCTSTR)(lpszSectionName))

/* void Cls_OnSysColorChange(HWND hwnd) */
#define HANDLE_WM_SYSCOLORCHANGE(hwnd, wParam, lParam, fn) \
    ((fn)(hwnd), 0L)
#define FORWARD_WM_SYSCOLORCHANGE(hwnd, fn) \
    (void)(fn)((hwnd), WM_SYSCOLORCHANGE, 0L, 0L)

/* BOOL Cls_OnQueryNewPalette(HWND hwnd) */
#define HANDLE_WM_QUERYNEWPALETTE(hwnd, wParam, lParam, fn) \
    MAKELRESULT((BOOL)(fn)(hwnd), 0L)
#define FORWARD_WM_QUERYNEWPALETTE(hwnd, fn) \
    (BOOL)(DWORD)(fn)((hwnd), WM_QUERYNEWPALETTE, 0L, 0L)

/* void Cls_OnPaletteIsChanging(HWND hwnd, HWND hwndPaletteChange) */
#define HANDLE_WM_PALETTEISCHANGING(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (HWND)(wParam)), 0L)
#define FORWARD_WM_PALETTEISCHANGING(hwnd, hwndPaletteChange, fn) \
    (void)(fn)((hwnd), WM_PALETTEISCHANGING, (WPARAM)(HWND)(hwndPaletteChange), 0L)

/* void Cls_OnPaletteChanged(HWND hwnd, HWND hwndPaletteChange) */
#define HANDLE_WM_PALETTECHANGED(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (HWND)(wParam)), 0L)
#define FORWARD_WM_PALETTECHANGED(hwnd, hwndPaletteChange, fn) \
    (void)(fn)((hwnd), WM_PALETTECHANGED, (WPARAM)(HWND)(hwndPaletteChange), 0L)

/* void Cls_OnFontChange(HWND hwnd) */
#define HANDLE_WM_FONTCHANGE(hwnd, wParam, lParam, fn) \
    ((fn)(hwnd), 0L)
#define FORWARD_WM_FONTCHANGE(hwnd, fn) \
    (void)(fn)((hwnd), WM_FONTCHANGE, 0L, 0L)

/* void Cls_OnSpoolerStatus(HWND hwnd, UINT status, int cJobInQueue) */
#define HANDLE_WM_SPOOLERSTATUS(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (UINT)(wParam), (int)(short)LOWORD(lParam)), 0L)
#define FORWARD_WM_SPOOLERSTATUS(hwnd, status, cJobInQueue, fn) \
    (void)(fn)((hwnd), WM_SPOOLERSTATUS, (WPARAM)(status), MAKELPARAM((cJobInQueue), 0))

/* void Cls_OnDevModeChange(HWND hwnd, LPCTSTR lpszDeviceName) */
#define HANDLE_WM_DEVMODECHANGE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (LPCTSTR)(lParam)), 0L)
#define FORWARD_WM_DEVMODECHANGE(hwnd, lpszDeviceName, fn) \
    (void)(fn)((hwnd), WM_DEVMODECHANGE, 0L, (LPARAM)(LPCTSTR)(lpszDeviceName))

/* void Cls_OnTimeChange(HWND hwnd) */
#define HANDLE_WM_TIMECHANGE(hwnd, wParam, lParam, fn) \
    ((fn)(hwnd), 0L)
#define FORWARD_WM_TIMECHANGE(hwnd, fn) \
    (void)(fn)((hwnd), WM_TIMECHANGE, 0L, 0L)

/* void Cls_OnPower(HWND hwnd, int code) */
#define HANDLE_WM_POWER(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (int)(wParam)), 0L)
#define FORWARD_WM_POWER(hwnd, code, fn) \
    (void)(fn)((hwnd), WM_POWER, (WPARAM)(int)(code), 0L)

/* BOOL Cls_OnQueryEndSession(HWND hwnd) */
#define HANDLE_WM_QUERYENDSESSION(hwnd, wParam, lParam, fn) \
    MAKELRESULT((BOOL)(fn)(hwnd), 0L)
#define FORWARD_WM_QUERYENDSESSION(hwnd, fn) \
    (BOOL)(DWORD)(fn)((hwnd), WM_QUERYENDSESSION, 0L, 0L)

/* void Cls_OnEndSession(HWND hwnd, BOOL fEnding) */
#define HANDLE_WM_ENDSESSION(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (BOOL)(wParam)), 0L)
#define FORWARD_WM_ENDSESSION(hwnd, fEnding, fn) \
    (void)(fn)((hwnd), WM_ENDSESSION, (WPARAM)(BOOL)(fEnding), 0L)

/* void Cls_OnQuit(HWND hwnd, int exitCode) */
#define HANDLE_WM_QUIT(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (int)(wParam)), 0L)
#define FORWARD_WM_QUIT(hwnd, exitCode, fn) \
    (void)(fn)((hwnd), WM_QUIT, (WPARAM)(exitCode), 0L)

/* This message is in Windows 3.1 only */
/* void Cls_OnSystemError(HWND hwnd, int errCode) */
#define HANDLE_WM_SYSTEMERROR(hwnd, wParam, lParam, fn) 0L
#define FORWARD_WM_SYSTEMERROR(hwnd, errCode, fn) 0L

/* BOOL Cls_OnCreate(HWND hwnd, LPCREATESTRUCT lpCreateStruct) */
#define HANDLE_WM_CREATE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (LPCREATESTRUCT)(lParam)) ? 0L : (LRESULT)-1L)
#define FORWARD_WM_CREATE(hwnd, lpCreateStruct, fn) \
    (BOOL)(DWORD)(fn)((hwnd), WM_CREATE, 0L, (LPARAM)(LPCREATESTRUCT)(lpCreateStruct))

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产手机| 91国在线观看| 日本伊人精品一区二区三区观看方式 | 久久99精品久久久| 天天影视网天天综合色在线播放| 国产精品人成在线观看免费| 精品三级在线观看| 久久亚洲综合色| 亚洲精品一区二区三区蜜桃下载| 日韩精品资源二区在线| 日韩欧美一区二区三区在线| 678五月天丁香亚洲综合网| 欧美疯狂性受xxxxx喷水图片| 欧美日韩不卡在线| 欧美一区二区三区不卡| 欧美电视剧在线观看完整版| 在线综合视频播放| 精品国偷自产国产一区| 久久久久久9999| 中文字幕一区在线观看| 一区二区三区日韩在线观看| 午夜成人免费电影| 久久精品国产澳门| 国产精品一二三四五| 99在线热播精品免费| 色婷婷激情久久| 欧美日韩三级视频| 欧美大尺度电影在线| 中文字幕久久午夜不卡| 日韩和欧美一区二区三区| 视频一区二区三区入口| 国产一区二区不卡| 99精品黄色片免费大全| 欧美日本精品一区二区三区| 精品久久久久久无| 国产精品久久久久永久免费观看| 亚洲午夜精品一区二区三区他趣| 日韩专区中文字幕一区二区| 国产精品99久久久久久似苏梦涵| 91免费视频观看| 91精品国产入口在线| 久久精品人人做人人综合| 亚洲欧美另类小说| 丝袜亚洲另类欧美| 国产a久久麻豆| 欧美日韩情趣电影| 欧美国产综合色视频| 午夜日韩在线电影| 懂色av中文一区二区三区| 欧美美女bb生活片| 1区2区3区欧美| 老司机精品视频在线| 不卡一区中文字幕| 日韩欧美精品在线| 亚洲乱码日产精品bd| 国产精品一区二区久久精品爱涩| 欧美性受xxxx| 国产精品国产馆在线真实露脸| 视频一区视频二区中文字幕| 91欧美激情一区二区三区成人| 日韩欧美在线一区二区三区| 一区二区三区欧美日韩| 国产成人超碰人人澡人人澡| 日韩一区二区在线免费观看| 亚洲视频精选在线| 成人免费视频caoporn| 一色屋精品亚洲香蕉网站| 日韩制服丝袜av| 欧美亚洲国产一区在线观看网站 | 国产一区二区三区不卡在线观看| 欧美主播一区二区三区美女| 国产精品日日摸夜夜摸av| 久久99蜜桃精品| 欧美一区二区三区四区久久| 亚洲丰满少妇videoshd| 91免费国产视频网站| 国产精品网曝门| 国产成人在线看| 久久久国产午夜精品| 麻豆国产精品777777在线| 欧美日韩精品一区二区三区| 亚洲自拍与偷拍| 91性感美女视频| 最新日韩av在线| 91女人视频在线观看| 国产精品国产三级国产普通话蜜臀| 国产精品一区二区久激情瑜伽| 精品美女一区二区三区| 久久99国产精品免费| 精品区一区二区| 精一区二区三区| 精品国产sm最大网站| 国产精品一线二线三线| 国产午夜亚洲精品午夜鲁丝片| 国产乱子伦视频一区二区三区| 久久女同性恋中文字幕| 国模无码大尺度一区二区三区| 精品国产免费视频| 国产东北露脸精品视频| 国产精品理伦片| 欧美亚洲一区三区| 狂野欧美性猛交blacked| 精品国产乱码久久久久久闺蜜| 国产成人亚洲综合a∨婷婷图片| 久久久久久久久久电影| 成人免费高清在线观看| 亚洲激情在线激情| 91精品久久久久久久99蜜桃 | 日韩精品中午字幕| 国产精品自在欧美一区| 亚洲日本一区二区| 欧美喷潮久久久xxxxx| 激情综合色播五月| 中文字幕视频一区二区三区久| 欧美视频一区二区在线观看| 欧美aⅴ一区二区三区视频| 久久久久久久久久久电影| 94-欧美-setu| 美女视频网站久久| 国产精品国产三级国产| 91麻豆精品国产91久久久久久久久| 国产永久精品大片wwwapp| 亚洲精品欧美专区| 日韩欧美成人午夜| 99精品久久99久久久久| 蜜臀久久99精品久久久久久9| 国产亚洲1区2区3区| 欧美美女一区二区| 不卡av免费在线观看| 日本中文字幕一区二区有限公司| 国产精品色一区二区三区| 在线成人午夜影院| 色综合久久天天综合网| 国产在线视频一区二区| 午夜视频一区在线观看| 中文字幕一区二区视频| 日韩欧美激情四射| 欧美日韩视频专区在线播放| 成人毛片在线观看| 国产伦精品一区二区三区免费| 亚洲一二三四在线| 综合精品久久久| 中文字幕第一区| 久久久久久麻豆| 欧美tickling网站挠脚心| 欧美日韩一区二区三区在线| 91美女片黄在线观看91美女| 国产精品18久久久久久久久| 麻豆精品视频在线观看视频| 亚洲国产aⅴ天堂久久| ...xxx性欧美| 国产精品午夜电影| 国产午夜精品在线观看| 日韩一区二区在线免费观看| 欧美日韩不卡在线| 欧美午夜片在线观看| 91丝袜国产在线播放| 成人av影院在线| 成人h动漫精品| 懂色av一区二区三区免费观看| 国产精品一色哟哟哟| 国产美女精品在线| 精品一区二区三区久久| 久久国产精品99精品国产 | 日韩中文字幕麻豆| 日本欧美久久久久免费播放网| 视频一区中文字幕国产| 日一区二区三区| 日韩成人伦理电影在线观看| 午夜精品久久久久久久99水蜜桃 | 欧美日韩国产小视频| 欧美精品精品一区| 日韩一区二区免费在线观看| 欧美r级电影在线观看| 精品国产伦一区二区三区观看方式| 精品国内片67194| 国产喷白浆一区二区三区| 国产精品不卡在线观看| 一区二区成人在线观看| 天堂蜜桃一区二区三区| 精品一区二区在线看| 国产精品一区二区在线看| 99精品热视频| 制服丝袜亚洲色图| 久久亚洲影视婷婷| 亚洲婷婷在线视频| 国产成人亚洲综合色影视| 91视频国产资源| 欧美老肥妇做.爰bbww| 337p日本欧洲亚洲大胆精品| 中文成人av在线| 亚洲高清免费观看 | 国产午夜精品久久久久久免费视 | 亚洲乱码国产乱码精品精可以看| 亚洲综合另类小说| 久久99国产精品麻豆| 91女厕偷拍女厕偷拍高清| 91精品国产高清一区二区三区| 久久久精品免费网站| 一二三区精品福利视频|