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

Sleeping

Note Book

DialogBox的若干問(wèn)題

今天繼續(xù)折騰那個(gè)List Box控件,發(fā)現(xiàn)一個(gè)問(wèn)題,當(dāng)對(duì)話框出來(lái)之后,被主窗體給刷屏了,不能得到子窗體的句柄。后經(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   讓你窗體無(wú)效 并激活子窗體
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ì)很有問(wèn)題,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之前,盡可能早地通過(guò)DWL_MSGRESULT去改寫真正的Result,by a nested dialog box message.  他媽的這句怎么翻譯?


現(xiàn)在都開(kāi)始懷疑弄這些消息有什么用,用MFC肯定是一個(gè)更好的選擇。在List Box里增加和刪除內(nèi)容都是太煩了,都是通過(guò)SendMessage來(lái)完成的。不知道能堅(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   博問(wèn)   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>
            亚洲永久在线观看| 欧美一区视频| 欧美精选一区| 日韩视频一区二区在线观看 | 国产亚洲欧洲一区高清在线观看 | 亚洲综合激情| 亚洲一区三区视频在线观看| 国产精品永久入口久久久| 久久激情五月激情| 久久精品水蜜桃av综合天堂| 在线观看精品视频| 亚洲韩国日本中文字幕| 欧美精品v国产精品v日韩精品 | 国产伦精品一区二区三区免费迷 | 亚洲男人影院| 午夜精品亚洲一区二区三区嫩草| 国产欧美 在线欧美| 久久夜色精品国产欧美乱极品| 久久久亚洲国产美女国产盗摄| 91久久国产综合久久蜜月精品 | 欧美国产日韩一区| 欧美日韩国产在线播放网站| 午夜精品视频| 久久久无码精品亚洲日韩按摩| 亚洲精品中文字幕在线| 99精品国产在热久久婷婷| 国产亚洲欧美日韩美女| 亚洲高清免费| 国产欧美日韩视频一区二区| 欧美成人亚洲| 国产精品永久在线| 91久久久久| 国产日韩欧美成人| 亚洲国产精品99久久久久久久久| 欧美午夜精品久久久久久孕妇 | 日韩午夜电影av| 亚洲欧美日本国产有色| 亚洲精品在线免费| 久久激情婷婷| 亚洲蜜桃精久久久久久久| 西瓜成人精品人成网站| av成人黄色| 久久伊人免费视频| 欧美一区91| 欧美日韩免费观看一区=区三区| 久久久久久久精| 欧美涩涩网站| 亚洲第一精品夜夜躁人人爽| 国产亚洲一区在线| 在线视频欧美日韩| 亚洲最新合集| 蜜臀99久久精品久久久久久软件| 欧美一区二区精美| 欧美色图一区二区三区| 亚洲国产综合视频在线观看| 激情久久中文字幕| 欧美亚洲一区二区在线观看| 国产精品99久久久久久人| 六月丁香综合| 欧美福利小视频| 永久91嫩草亚洲精品人人| 午夜在线视频一区二区区别 | 精品成人一区二区三区| 亚洲一级特黄| 亚洲综合三区| 国产精品黄色在线观看| 亚洲精品自在久久| 99人久久精品视频最新地址| 蜜臀久久99精品久久久画质超高清| 久久久久久久性| 国产偷久久久精品专区| 亚洲男人天堂2024| 欧美一区二区精品久久911| 国产精品永久免费观看| 午夜天堂精品久久久久| 久久噜噜噜精品国产亚洲综合| 国产亚洲精久久久久久| 欧美一区二区三区视频在线| 久久久久久亚洲综合影院红桃 | 欧美成人四级电影| 亚洲欧洲久久| 亚洲视频在线免费观看| 国产精品九九久久久久久久| 亚洲永久字幕| 免费观看在线综合| 亚洲人成啪啪网站| 欧美视频精品在线| 欧美亚洲免费在线| 欧美96在线丨欧| 亚洲美女色禁图| 国产精品久久久久久亚洲调教| 亚洲女与黑人做爰| 欧美 亚欧 日韩视频在线| 91久久线看在观草草青青| 欧美精品免费在线观看| 亚洲一区日韩在线| 欧美成人资源| 亚洲与欧洲av电影| 国内外成人在线视频| 欧美成人精品在线视频| 亚洲影院色无极综合| 久久在线视频在线| 亚洲色无码播放| 国产日韩欧美在线播放| 免费在线成人av| 亚洲一区二区三区在线| 免费人成网站在线观看欧美高清| 一区二区三区高清| 韩日精品在线| 国产精品啊啊啊| 久久亚洲一区二区三区四区| 亚洲最新在线| 欧美a级在线| 午夜免费在线观看精品视频| 91久久精品一区二区别| 国产视频久久| 欧美日韩在线视频观看| 久久婷婷av| 亚洲中字黄色| 一区二区三区www| 欧美国产精品| 狂野欧美一区| 久久久精品免费视频| 亚洲视频视频在线| 亚洲清纯自拍| 在线看片欧美| 黄色亚洲精品| 国产在线播精品第三| 欧美日韩无遮挡| 欧美精品国产一区| 蘑菇福利视频一区播放| 欧美一区二区三区在线免费观看| 99精品福利视频| 亚洲国产影院| 亚洲国产欧美一区| 欧美69wwwcom| 欧美成人黄色小视频| 久久亚洲不卡| 卡一卡二国产精品| 久久字幕精品一区| 久久尤物视频| 美女黄网久久| 欧美成年人视频| 免费观看在线综合色| 久久久久一区| 久久综合电影一区| 免费在线亚洲| 欧美1区免费| 亚洲国产成人不卡| 亚洲狠狠丁香婷婷综合久久久| 欧美成人精精品一区二区频| 蜜臀av在线播放一区二区三区| 久久视频在线免费观看| 欧美1区2区视频| 欧美激情一区二区在线| 欧美激情一区二区三区在线| 亚洲区第一页| 99在线精品观看| 亚洲午夜久久久久久尤物| 亚洲专区一二三| 欧美一区二区三区四区夜夜大片| 欧美一区2区三区4区公司二百| 欧美在线免费视屏| 久热这里只精品99re8久| 欧美不卡一卡二卡免费版| 欧美日韩国产综合在线| 欧美视频中文字幕| 国产日韩精品入口| 在线观看日韩专区| 99re6这里只有精品视频在线观看| 一区二区动漫| 欧美一区二区三区免费看| 久久久久综合一区二区三区| 欧美国产高潮xxxx1819| 中文国产成人精品久久一| 欧美一区成人| 欧美理论电影网| 国产免费亚洲高清| 亚洲激情欧美激情| 亚洲欧美制服中文字幕| 美国成人直播| 日韩一区二区精品视频| 亚欧美中日韩视频| 欧美国产精品劲爆| 国产色综合久久| 亚洲美女区一区| 久久久国产精品亚洲一区| 91久久国产综合久久| 性做久久久久久| 欧美日韩黄视频| 一区二区三区在线看| 亚洲男女自偷自拍图片另类| 欧美成人精品| 午夜精品久久久| 欧美日韩精品综合在线| 悠悠资源网久久精品| 午夜日韩在线观看| 亚洲美女在线看| 男人插女人欧美| 很黄很黄激情成人|