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

Sleeping

Note Book

DialogBox的若干問題

今天繼續(xù)折騰那個(gè)List Box控件,發(fā)現(xiàn)一個(gè)問題,當(dāng)對(duì)話框出來之后,被主窗體給刷屏了,不能得到子窗體的句柄。后經(jīng)仔細(xì)調(diào)試,發(fā)現(xiàn)一些端倪。首先在調(diào)用 DialogBox函數(shù)時(shí) ,所生成的Dialog(我這里的Dialog面板里有一個(gè)Edit控件 兩個(gè)按鈕控件 和一個(gè)List Box控件)依次產(chǎn)生的消息隊(duì)列如下所示:
WM_SETFONT    0x0030                 設(shè)置字體
WM_INITDIALOG 0x0110                 初始化Dialog
WM_WINDOWPOSCHANGING            0x0046                窗體大小 位置等轉(zhuǎn)變的消息
WM_NCACTIVATE   0x0086          改變一個(gè)非工作區(qū)域 sent to a window when its nonclient area needs to be changed to indicate an active or inactive state.
WM_ACTIVATE     0x0006   讓你窗體無效 并激活子窗體
WM_COMMAND   0x0111 (HIWORD(WPARAM))->LBN_SETFOCUS(4) ->LBN_KILLFOCUS(5) 消息命令 ListBox
WM_USER     0x0400    用戶自定義消息
WM_NCACTIVATE  0x0086
WM_SHOWWINDOW   0x0018   顯示窗體
WM_WINDOWPOSCHANGING 0x0046
WM_NCPAINT 0x0085    The WM_NCPAINT message is sent to a window when its frame must be painted.
WM_ERASEBKGND 0x0014   清楚窗口背景
WM_WINDOWPOSCHANGED 0x0047  
WM_GETICON 0x007F  3次   The WM_GETICON message is sent to a window to retrieve a handle to the large or small icon associated with a window
WM_NCCALCSIZE 0x0083   計(jì)算機(jī)窗體大小尺寸
WM_MOVE 0x0003     移動(dòng)
WM_SIZE 0x0005     改變大小
WM_PAINT 0x000F    繪制窗體
WM_CTLCOLORBTN 0x0135   繪制按鈕的顏色
WM_CTLCOLORLISTBOX 0x0134  繪制Listbox的顏色
WM_CTLCOLOREDIT 0x0133   繪制Edit的顏色
WM_POWERBROADCAST 0x0218   broadcast to an application to notify it of power-management events
while(1) 一直循環(huán)以下的兩個(gè)消息
WM_NCACTIVATE  0x0086
WM_WINDOWPOSCHANGING            0x0046

代碼如下:
BOOL CALLBACK  ListBoxTest(HWND hWnd,UINT message , WPARAM wParam, LPARAM lParam) 

int wmId = LOWORD(wParam ); 
int wmEvent = HIWORD(wParam) ; 
int i ; 
HDC hDc ; 
PAINTSTRUCT ps ; 
HWND hListBox ; 
switch(message) 

  
case WM_INITDIALOG: 
   hListBox 
= GetDlgItem(hWnd,IDC_LIST_TEST) ; 
   
for(i = 0; MyData[i].Name[0!= 0 ; i++

    SendMessage(hListBox,LB_ADDSTRING,
0,(LPARAM)MyData[i].Name) ; 
    SendMessage(hListBox,LB_SETITEMDATA,  i ,(LPARAM)i) ; 
   }
 
   SetFocus(hListBox); 
   
return (TRUE) ; 
  
case WM_PAINT: 
   hDc 
= BeginPaint(hWnd,&ps) ; 
   
//MSGPRINT(_T("Print")) ; 
   EndPaint(hWnd,&ps); 
   
break ; 
  
case LB_ADDFILE: 
   
break ; 
  
case WM_COMMAND: 
   
switch(wmId) 
{
 
   
case IDC_LIST_TEST: 
    
switch(wmEvent) 
   {
 
    
case LBN_SELCHANGE: 
     
//MSGPRINT(_T("LBN_SELCHANGE")); 
     break ; 
    
case LBN_DBLCLK: 
     
//MSGPRINT(_T("LBN_DBLCLK")); 
     break ; 
    
case LBN_SETFOCUS: 
     
//MSGPRINT(_T("LBN_SETFOCUS")) ; 
     break ; 
    
case LBN_KILLFOCUS: 
     
//MSGPRINT(_T("LBN_KILLFOCUS")) ; 
     break ; 
    }
 
    
return FALSE ; 
    
break ; 
   
case IDOK: 
    MSGPRINT(_T(
"IDOK")); 
    EndDialog(hWnd,
0) ; 
    
return TRUE; 
    
break ; 
   
case IDCANCEL: 
    MSGPRINT(_T(
"IDCANCEL")); 
    EndDialog(hWnd,
0) ; 
    
return TRUE ; 
    
break ; 
   }
 
}
 
return FALSE;
}

如果最后返回TRUE那么窗體的著色會(huì)很有問題,Dialog的顏色和背景顏色完全一樣,導(dǎo)致不能看到一個(gè)窗體的存在,所以這里必須返回FALSE,
MSDN作出的解釋如下:Typically, the dialog box procedure should return TRUE if it processed the message, and FALSE if it did not. If the dialog box procedure returns FALSE, the dialog manager performs the default dialog operation in response to the message.
意即,如果這個(gè)窗體想處理哪個(gè)消息就返回TRUE,如果不想處理這個(gè)消息就返回FALSE,所以在最后應(yīng)該返回False,即默認(rèn)不處理那些消息而只算WM_INITDIALOG 和其它一些IDOK IDCANCEL的消息。
If the dialog box procedure processes a message that requires a specific return value, the dialog box procedure should set the desired return value by calling SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) immediately before returning TRUE. Note that you must call SetWindowLong immediately before returning TRUE; doing so earlier may result in the DWL_MSGRESULT value being overwritten by a nested dialog box message.

這個(gè)嘛   靠 英文 爛!勉勉強(qiáng)強(qiáng)
如果窗體在處理一個(gè)消息時(shí)需要顯示地返回一個(gè)值,那這個(gè)窗體應(yīng)該在返回TRUE前調(diào)用SetWindoLong(hWndDlg,DWL_MSGRESULT,lpResult)函數(shù)更改想要返回的值.切記一定要馬上調(diào)用該函數(shù)在返回TRUE之前,盡可能早地通過DWL_MSGRESULT去改寫真正的Result,by a nested dialog box message.  他媽的這句怎么翻譯?


現(xiàn)在都開始懷疑弄這些消息有什么用,用MFC肯定是一個(gè)更好的選擇。在List Box里增加和刪除內(nèi)容都是太煩了,都是通過SendMessage來完成的。不知道能堅(jiān)持學(xué)到什么時(shí)候。

posted on 2008-10-07 21:42 祥子_隨波逐流 閱讀(2084) 評(píng)論(0)  編輯 收藏 引用


只有注冊(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>
            欧美一级理论片| 国产亚洲aⅴaaaaaa毛片| 久久国产主播| 欧美日韩综合视频网址| 欧美mv日韩mv国产网站| 国产日韩欧美中文| 中文在线一区| 一区二区欧美在线观看| 免费观看欧美在线视频的网站| 久久aⅴ乱码一区二区三区| 欧美午夜不卡影院在线观看完整版免费| 欧美aⅴ99久久黑人专区| 国产一区二区三区网站 | 亚洲免费视频在线观看| 嫩草国产精品入口| 欧美jizzhd精品欧美巨大免费| 国产亚洲精品久久飘花| 亚洲欧美在线视频观看| 亚洲欧美色婷婷| 国产精品剧情在线亚洲| 国产精品99久久久久久久久| 亚洲无线视频| 国产精品二区二区三区| 中文国产成人精品久久一| 中国亚洲黄色| 国产精品久久久久一区| 中文国产成人精品久久一| 亚洲欧美日韩第一区| 国产精品激情| 亚洲愉拍自拍另类高清精品| 亚洲一区视频在线观看视频| 欧美日韩综合在线| 亚洲婷婷国产精品电影人久久| 中文精品视频| 欧美色中文字幕| 亚洲一级黄色av| 久久久久国产精品厨房| 国内精品久久久久久久果冻传媒 | 影音先锋亚洲电影| 久久久一区二区三区| 欧美高潮视频| 日韩视频在线观看| 欧美午夜精品一区| 亚洲欧美日韩精品在线| 久久精品视频在线看| 国产一区二区三区在线观看精品| 欧美中文在线观看| 欧美激情亚洲| 亚洲婷婷综合色高清在线| 国产精品久久久久秋霞鲁丝| 欧美一区二区三区精品电影| 欧美国产日韩a欧美在线观看| 亚洲人成在线观看一区二区| 欧美日韩精品伦理作品在线免费观看 | 久久精品国产免费观看| 国产一区视频在线看| 免费一级欧美片在线播放| 日韩一级在线观看| 久久福利影视| 亚洲高清在线观看一区| 欧美日韩一区高清| 欧美一区三区三区高中清蜜桃| 欧美高清不卡在线| 亚洲女人小视频在线观看| 黄色影院成人| 欧美三级日本三级少妇99| 欧美专区一区二区三区| 亚洲区国产区| 欧美一区二区在线播放| 亚洲精品九九| 国产三区精品| 欧美色精品天天在线观看视频 | 欧美女同在线视频| 久久精品亚洲一区二区| 日韩小视频在线观看| 久久婷婷国产麻豆91天堂| 99国产精品久久久| 激情成人综合网| 欧美午夜精品久久久| 噜噜噜91成人网| 亚洲欧美一级二级三级| 亚洲欧洲在线一区| 久久综合色天天久久综合图片| 亚洲视频精品| 亚洲精品韩国| 一区免费视频| 国产婷婷一区二区| 国产精品久久久久久妇女6080| 欧美福利视频在线观看| 久久精品国产999大香线蕉| 亚洲欧美日韩一区二区三区在线| 亚洲精品一区二区三区不| 农村妇女精品| 久久综合五月| 久久麻豆一区二区| 欧美在线啊v一区| 亚洲欧美成人一区二区在线电影| 亚洲精品影院在线观看| 亚洲国产另类 国产精品国产免费| 国产欧美69| 国产欧美日韩91| 国产精品自拍一区| 国产精品久久久久久久久| 欧美午夜精品久久久久久孕妇| 欧美裸体一区二区三区| 欧美成人综合一区| 欧美激情视频网站| 欧美精品在线看| 欧美乱妇高清无乱码| 欧美多人爱爱视频网站| 欧美成人首页| 欧美激情第4页| 欧美激情精品| 欧美日韩免费区域视频在线观看| 欧美激情视频一区二区三区免费| 欧美激情bt| 欧美日韩精品免费观看视频完整| 欧美日韩国产欧美日美国产精品| 欧美精品久久久久久久免费观看 | 久久一区二区三区四区五区| 久久蜜桃精品| 欧美1区视频| 亚洲精品国产精品国自产在线| 亚洲人成网站影音先锋播放| 亚洲毛片一区二区| 亚洲一区综合| 久久亚洲综合色| 欧美激情区在线播放| 国产精品国产自产拍高清av王其| 国产精品一区视频| 一区在线视频| 99精品国产高清一区二区| 亚洲一区视频| 美女免费视频一区| 亚洲乱码一区二区| 欧美一区二区三区四区视频| 久久久久久久久蜜桃| 欧美日韩国产在线播放网站| 欧美午夜电影在线观看| 国产一区三区三区| 亚洲精品看片| 午夜欧美视频| 欧美韩日一区| 亚洲欧美成人在线| 久久综合伊人| 国产精品久久久久久久久久免费看 | 欧美日韩国产综合新一区| 国产日韩欧美成人| 亚洲精品欧美专区| 欧美资源在线观看| 91久久久久久久久| 午夜精品视频| 欧美激情欧美狂野欧美精品| 国产日韩欧美一区二区三区四区| 亚洲国产精品福利| 香蕉久久夜色精品国产| 欧美激情91| 性欧美1819sex性高清| 欧美激情一区在线| 国产在线观看91精品一区| 一本久久精品一区二区| 久久久久久亚洲综合影院红桃| 亚洲人www| 久久久午夜电影| 国产免费观看久久黄| 99国产精品久久久久久久久久| 久久av一区二区三区| 日韩亚洲欧美成人| 农村妇女精品| 国产在线一区二区三区四区| 亚洲天堂av电影| 亚洲国产精品尤物yw在线观看| 欧美一区二区三区另类| 国产精品久久久久久模特| 99视频国产精品免费观看| 免播放器亚洲一区| 欧美一区1区三区3区公司| 国产精品久久777777毛茸茸| 日韩西西人体444www| 欧美大片在线观看| 久久精品综合| 国内精品一区二区三区| 欧美一区二区三区在线| 亚洲午夜久久久久久尤物 | 一本综合久久| 欧美激情国产日韩| 久久免费视频网| 黄色综合网站| 免费观看成人| 久久精品夜夜夜夜久久| 国产一区二区在线观看免费| 欧美在线观看视频一区二区| 亚洲影院高清在线| 国产精品久久久久一区二区| 午夜激情久久久| 亚洲欧美日韩一区在线观看| 国产精品日韩在线| 欧美一级成年大片在线观看| 亚洲欧美日韩一区| 国产综合在线看|