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

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的話,這個應該是

 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;



但是在對話框消息處理中,對話框過程函數應該在處理了消息的情況下返回TRUE,如果沒有處理,則返回FALSE。如果對話框過程返回了FALSE,那么對話框管理器為這條消息準備默認的對話操作。如果對話框處理了一個需要特定返回值的消息,則對話框的返回值應該被設置為調用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 時,我們不能單純的調用消息分流器.

而在處理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由于是個void型的函數,是沒有返回值的,因此windows默認這種消息處理過程必須返回一個0值,而返回0值不就表示我們的消息過程不處理這個消息,這是矛盾的,如果直接使用HANDLE_WM_COMMAND(hwnd, wParam, lParam,  Dlg_OnCommand) ;按鈕會沒有反應,關閉也不行/所以可以使用使用下面的宏解決

#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))))

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


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            国产一区二区三区在线免费观看| 午夜综合激情| 性欧美xxxx视频在线观看| 日韩午夜电影在线观看| 亚洲欧美在线看| 亚洲网站视频| 欧美成人资源| 久久免费视频一区| 国产欧美精品日韩区二区麻豆天美 | 国产精品乱码久久久久久| 欧美+日本+国产+在线a∨观看| 国产精品xvideos88| 亚洲国产欧美一区| 在线观看亚洲a| 欧美在线免费一级片| 欧美一区1区三区3区公司| 欧美日韩视频| 亚洲美女诱惑| 中文成人激情娱乐网| 欧美精品免费在线| 亚洲黑丝在线| 亚洲精品人人| 欧美激情综合在线| 亚洲国产va精品久久久不卡综合| 在线观看一区二区精品视频| 久久精品72免费观看| 久久欧美肥婆一二区| 一区二区在线观看视频| 久久久久久亚洲精品杨幂换脸| 久久久久久一区| 国产亚洲欧洲997久久综合| 欧美亚洲视频在线看网址| 久久精品欧美日韩| 伊人夜夜躁av伊人久久| 久久人人爽国产| 亚洲国产精品欧美一二99| 亚洲裸体视频| 国产精品久久波多野结衣| 亚洲永久免费av| 久久男人资源视频| 亚洲第一网站| 欧美日韩三级电影在线| 亚洲性视频网址| 久久成人国产| 亚洲第一天堂av| 欧美日韩成人综合在线一区二区| 99re热这里只有精品免费视频| 亚洲欧美日韩精品综合在线观看| 国产日韩亚洲| 欧美freesex8一10精品| 亚洲久久一区二区| 欧美一区二区三区喷汁尤物| 国内揄拍国内精品少妇国语| 欧美3dxxxxhd| 一本色道久久综合精品竹菊| 久久国产精品99国产精| 亚洲欧洲精品成人久久奇米网| 欧美日韩欧美一区二区| 欧美亚洲免费电影| 亚洲国产精品综合| 欧美在线视频一区| 亚洲精品久久久久久久久久久久久 | 在线欧美一区| 欧美日韩精品国产| 欧美伊人久久久久久久久影院| 欧美成人免费在线| 亚洲亚洲精品三区日韩精品在线视频| 国产精品久久久久久久久久久久| 久久大逼视频| 一区二区精品| 免费观看久久久4p| 亚洲男女自偷自拍图片另类| 在线成人中文字幕| 国产精品久久久久久久久久ktv| 久久这里有精品视频| 亚洲一区二区视频| 亚洲国产精品一区二区第一页 | 亚洲欧美激情四射在线日| 欧美激情欧美激情在线五月| 午夜一区不卡| 99re成人精品视频| 亚洲成人自拍视频| 国产亚洲一区二区三区在线播放| 欧美日韩精品伦理作品在线免费观看| 欧美一区二区三区日韩| 99re66热这里只有精品4| 欧美成人午夜激情视频| 欧美中文字幕在线| 亚洲在线成人| 一区二区三区www| 91久久精品国产91久久| 韩日成人av| 国产欧美日韩一级| 国产精品成人免费视频| 欧美乱人伦中文字幕在线| 久久亚洲私人国产精品va| 亚洲欧美日韩精品综合在线观看| 亚洲美女尤物影院| 亚洲黄一区二区| 欧美va亚洲va国产综合| 久久欧美中文字幕| 久久精品国产999大香线蕉| 亚洲综合色自拍一区| 亚洲视频免费在线| 99re66热这里只有精品3直播| 亚洲夫妻自拍| 亚洲第一精品久久忘忧草社区| 国产伪娘ts一区| 国产视频久久久久| 国产视频亚洲| 国产一区二区在线观看免费播放| 国产精品亚发布| 国产欧美日韩亚洲精品| 国产视频精品xxxx| 合欧美一区二区三区| 韩国精品在线观看| 在线欧美影院| 亚洲黄色在线| 艳妇臀荡乳欲伦亚洲一区| 一区二区电影免费在线观看| 日韩一级片网址| 亚洲女女女同性video| 亚洲女性裸体视频| 久久福利精品| 六月天综合网| 亚洲欧洲一区二区三区久久| 亚洲精品美女久久7777777| 一本色道久久综合一区| 亚洲欧美日韩精品久久久| 午夜精品剧场| 米奇777在线欧美播放| 欧美啪啪成人vr| 国产精品实拍| 揄拍成人国产精品视频| 亚洲精品美女91| 亚洲欧美日韩电影| 久久久亚洲成人| 亚洲国产日韩欧美在线99| 亚洲精选国产| 久久精品国产亚洲一区二区三区| 欧美+日本+国产+在线a∨观看| 欧美日韩国产专区| 国产字幕视频一区二区| 亚洲美女尤物影院| 欧美一区二区视频网站| 欧美国产日韩a欧美在线观看| 夜夜夜久久久| 久久久国产精品亚洲一区 | 国产精品三区www17con| 欧美激情综合色| 亚洲一区久久久| 欧美插天视频在线播放| 国产精品欧美日韩一区二区| 激情久久五月| 中文高清一区| 女主播福利一区| 亚洲综合精品自拍| 欧美福利一区二区三区| 国产婷婷色综合av蜜臀av| 亚洲最新视频在线| 久久亚洲精品中文字幕冲田杏梨| 亚洲美女黄网| 免费欧美视频| 国产日韩在线亚洲字幕中文| 日韩午夜高潮| 欧美成人免费一级人片100| 亚洲欧美日韩专区| 欧美日产国产成人免费图片| 影音先锋中文字幕一区二区| 午夜精品久久久久久99热| 91久久精品久久国产性色也91 | 亚洲影视综合| 欧美日韩一区成人| 亚洲精品三级| 欧美国产日韩一区二区在线观看| 香蕉尹人综合在线观看| 欧美性淫爽ww久久久久无| 日韩视频免费大全中文字幕| 欧美成人国产| 久久亚洲一区二区三区四区| 国产一区二区三区成人欧美日韩在线观看 | 国产亚洲欧美日韩美女| 亚洲欧美综合v| 亚洲视频欧美在线| 欧美日韩视频不卡| 一本色道久久综合亚洲精品不卡 | 欧美国产一区二区| 在线观看视频一区| 蜜臀va亚洲va欧美va天堂| 欧美中文在线免费| 国产一区二区三区四区hd| 欧美专区日韩视频| 午夜国产欧美理论在线播放| 国产精品日产欧美久久久久| 亚洲欧美日韩第一区| 亚洲一二三区精品| 国产欧美大片| 久久久av毛片精品| 久久青草久久| 亚洲精品乱码久久久久久按摩观|