青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 15, comments - 8, trackbacks - 0, articles - 2

在Jeffrey的Error Show程序作者自定義了一段宏

#define chHANDLE_DLGMSG(hWnd, message, fn)                 \
   case (message): return (SetDlgMsgResult(hWnd, uMsg,     \
      HANDLE_##message((hWnd), (wParam), (lParam), (fn))))

HANDLE_##message((hWnd), (wParam), (lParam), (fn))是借用了windows.h里面的

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

如果message是WM_CREAT的話,這個(gè)應(yīng)該是

 HANDLE_WM_CREATE((hwnd), (wParam), (lParam), (Cls_OnCreate))

#define HANDLE_WM_CREATE(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (LPCREATESTRUCT)(lParam)) ? 0L : (LRESULT)-1L)

那么宏展開為:return Cls_OnCreate(hwnd, (LPCREATESTRUCT)(lParam) )? 0L : (LRESULT)-1L;



但是在對(duì)話框消息處理中,對(duì)話框過程函數(shù)應(yīng)該在處理了消息的情況下返回TRUE,如果沒有處理,則返回FALSE。如果對(duì)話框過程返回了FALSE,那么對(duì)話框管理器為這條消息準(zhǔn)備默認(rèn)的對(duì)話操作。如果對(duì)話框處理了一個(gè)需要特定返回值的消息,則對(duì)話框的返回值應(yīng)該被設(shè)置為調(diào)用SetWindowLong后的返回值,這些特殊消息有:

? WM_CHARTOITEM
? WM_COMPAREITEM
? WM_CTLCOLORBTN
? WM_CTLCOLORDLG
? WM_CTLCOLOREDIT
? WM_CTLCOLORLISTBOX
? WM_CTLCOLORSCROLLBAR
? WM_CTLCOLORSTATIC
? WM_INITDIALOG
? WM_QUERYDRAGICON
? WM_VKEYTOITEM

所以在處理WM_INITDIALOG 時(shí),我們不能單純的調(diào)用消息分流器.

而在處理WM_COMMAND中,從windowsx.h可以看到:

/* void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) */
#define HANDLE_WM_COMMAND(hwnd, wParam, lParam, fn) \
    ((fn)((hwnd), (int)(LOWORD(wParam)), (HWND)(lParam), (UINT)HIWORD(wParam)), 0L)

void Cls_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

Cls_OnCommand由于是個(gè)void型的函數(shù),是沒有返回值的,因此windows默認(rèn)這種消息處理過程必須返回一個(gè)0值,而返回0值不就表示我們的消息過程不處理這個(gè)消息,這是矛盾的,如果直接使用HANDLE_WM_COMMAND(hwnd, wParam, lParam,  Dlg_OnCommand) ;按鈕會(huì)沒有反應(yīng),關(guān)閉也不行/所以可以使用使用下面的宏解決

#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 chHANDLE_DLGMSG(hWnd, message, fn)                 \
   case (message): return (SetDlgMsgResult(hWnd, uMsg,     \
      HANDLE_##message((hWnd), (wParam), (lParam), (fn))))

從這兩個(gè)宏可以得到,如果是特殊消息的話那么返回默認(rèn)0,并設(shè)置說明消息處理,如果WM_COMMAND的話,那么返回SetWindowLong((hwnd), DWL_MSGRESULT, (LPARAM)(LRESULT)(result)), TRUE),一般為TRUE表明已經(jīng)處理


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            玖玖精品视频| 亚洲小少妇裸体bbw| 亚洲一区二区三区中文字幕| 久久久久久精| 日韩视频―中文字幕| 国产精品每日更新在线播放网址| 午夜精品影院在线观看| 亚洲免费精彩视频| 久久综合伊人77777尤物| 欧美一区二区高清| 久久久久久国产精品mv| 久久久久久国产精品一区| 久久久国产精品一区二区中文| 性高湖久久久久久久久| 欧美一级理论性理论a| 亚洲欧美日韩一区| 欧美一区二区三区久久精品茉莉花 | 一区二区三区免费在线观看| 亚洲欧洲日产国产网站| 亚洲麻豆国产自偷在线| 亚洲少妇自拍| 久久久久国产精品www| 欧美成人免费小视频| 91久久久在线| 亚洲一区二区三区免费观看| 先锋资源久久| 国产综合一区二区| 亚洲精品一线二线三线无人区| 亚洲高清色综合| 影音先锋久久久| 亚洲国产99精品国自产| 亚洲三级毛片| 午夜在线精品偷拍| 欧美激情一区在线观看| 亚洲私人影吧| 欧美va天堂在线| 国产亚洲成人一区| 宅男噜噜噜66国产日韩在线观看| 久久国产综合精品| aⅴ色国产欧美| 欧美chengren| 在线观看亚洲精品| 久久精品国产亚洲a| 日韩午夜一区| 久久综合色88| 国产毛片精品国产一区二区三区| 亚洲精品在线看| 免费成人性网站| 欧美在线免费视屏| 国产精品日本一区二区| 亚洲视频在线看| 亚洲理伦电影| 欧美片在线观看| 99在线|亚洲一区二区| 欧美国产一区在线| 久久一区二区三区四区五区| 国产日韩欧美中文| 欧美一区二区三区视频| 亚洲一区二区三区中文字幕在线| 欧美日韩国产在线看| 日韩亚洲一区在线播放| 亚洲国产视频一区二区| 久久久久久久久久久久久久一区| 国产精品无码永久免费888| 亚洲欧美大片| 亚洲一区在线观看视频| 欧美亚一区二区| 亚洲欧美中文日韩v在线观看| 日韩亚洲成人av在线| 欧美三日本三级少妇三2023| 亚洲午夜精品福利| 亚洲一区二区三区视频| 国产日产精品一区二区三区四区的观看方式| 亚洲欧美不卡| 久久精品91久久久久久再现| 极品尤物av久久免费看| 欧美韩日一区二区三区| 欧美区二区三区| 香蕉久久精品日日躁夜夜躁| 午夜久久tv| 亚洲欧洲在线一区| 欧美日韩精品一区二区天天拍小说| 99精品国产在热久久| 在线亚洲欧美| 精品福利av| 亚洲免费观看高清在线观看| 国产精品久久久久免费a∨| 久久蜜桃精品| 欧美精品国产一区| 欧美伊人久久大香线蕉综合69| 欧美一区二区视频观看视频| 亚洲国产精品一区二区第一页| 91久久精品日日躁夜夜躁欧美| 欧美视频一区二区三区| 久久久成人网| 欧美日韩国产美女| 午夜精品美女自拍福到在线| 欧美中文字幕在线观看| 日韩亚洲国产欧美| 欧美一区二区三区四区夜夜大片| 亚洲片区在线| 欧美在线视频导航| 在线视频精品一区| 久久久久久久久久久久久9999| 在线视频亚洲| 免费一级欧美片在线观看| 亚洲欧美一区二区原创| 免费人成网站在线观看欧美高清| 亚洲欧美日韩国产综合在线| 久久亚洲私人国产精品va| 亚洲欧美日韩国产一区二区| 麻豆免费精品视频| 久久久久久久久久久一区| 欧美日韩午夜剧场| 欧美不卡激情三级在线观看| 国产精品久久久久三级| 欧美激情在线播放| 国内精品免费午夜毛片| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美日韩亚洲91| 美日韩免费视频| 国产欧美日韩综合精品二区| 亚洲精品中文字| 999亚洲国产精| 欧美韩国日本综合| 欧美激情一二三区| 亚洲电影成人| 久久在线免费观看视频| 久久视频这里只有精品| 国产日韩欧美自拍| 小处雏高清一区二区三区| 亚洲欧洲av一区二区| 国产精品www.| 亚洲午夜精品福利| 亚洲一区二区在线| 国产精品高潮呻吟| 亚洲欧美精品在线观看| 性感少妇一区| 国模大胆一区二区三区| 久久精品国产亚洲精品| 久久影院午夜论| 影音先锋久久| 亚洲国产婷婷香蕉久久久久久99| 好吊一区二区三区| 久久国产精品一区二区三区四区| 久久精品视频导航| 国语自产在线不卡| 久久久欧美一区二区| 欧美1区2区| 亚洲精品无人区| 欧美婷婷在线| 欧美一级在线视频| 欧美第十八页| 亚洲午夜久久久久久久久电影网| 欧美三级不卡| 欧美在线免费观看视频| 久久人人97超碰国产公开结果 | 国产亚洲综合性久久久影院| 欧美亚洲网站| 亚洲第一综合天堂另类专| 亚洲精品免费看| 国产精品色在线| 久久亚洲私人国产精品va媚药| 欧美激情一区三区| 亚洲欧美在线播放| 精品99视频| 欧美三级特黄| 久久国产日韩欧美| 亚洲理论在线| 麻豆国产va免费精品高清在线| 亚洲区一区二| 国产午夜精品麻豆| 欧美美女bbbb| 欧美一区二区性| 最近中文字幕日韩精品| 欧美一区二区高清在线观看| 亚洲国产精品第一区二区三区 | 国产精品视频yy9099| 美女露胸一区二区三区| 亚洲婷婷在线| 亚洲激情自拍| 久久久精品一品道一区| 亚洲免费播放| 一区二区三区在线免费观看| 欧美日韩一视频区二区| 久久天天狠狠| 午夜亚洲福利在线老司机| 亚洲国产视频一区| 嫩草国产精品入口| 欧美亚洲综合另类| 亚洲精品在线观看视频| 国内外成人免费激情在线视频| 欧美精品 日韩| 久久综合99re88久久爱| 亚洲欧美日韩国产中文在线| 亚洲国产精品一区在线观看不卡| 久久激情一区| 欧美一区二区精品在线| 亚洲天堂网在线观看| 亚洲精品在线免费观看视频|