非模式对话框CreateDialog() 与 模式对话框 DialogBoxParam()和...
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
非模式對話框CreateDialog() 與 模式對話框 DialogBoxParam()和DialogBox()
一、模式對話框比非模式對話框的好處?是,它是作為一個獨立窗口打開的,不會影響父窗口的狀態(tài),而后者打開后,關閉前父窗口是不能使用的。而且必須要對話框關閉以后,函數(shù)才會返回調(diào)用生成對話框語句的下一句。而模式對話框在不關閉的情況下也能返回下一句程序位置。
比如:
[cpp]? view plain copy二、DialogBoxParam()與DialogBox的區(qū)別?是,前者最后多一個參數(shù),可以傳遞給Iparam參數(shù)。
兩者銷毀都用EndDialog()
三、非模式對話框使用CreateDialg建立。?
可以在WinMain中建立主窗口后建立,對話框句柄保存?zhèn)溆谩?/p> hDlgModeless = CreateDialog ( hInstance,? TEXT ("ColorScrDlg"), //對話框模板 hwnd,? ColorScrDlg //對話框消息處理函數(shù) );
四、消息循環(huán)添加針對非模式對話框的處理?
“非模式對話框”與“模式對話框”不同,模式對話框工作的時候,有其內(nèi)部的消息泵機制。
而非模式對話框則象普通窗口一樣,由WinMain中書寫的消息循環(huán)驅(qū)動。
但由于是對話框,它對一些消息有特殊的處理,例如用于在對話框中各子控件間導航的"TAB"鍵、"ENTER"鍵等等。
因此,在消息循環(huán)中,需要先給對話框提供截獲消息的機會。
如果當前取得的消息是對話框消息的話,IsDialgMessage將它交由對話消息處理函數(shù)處理,并返回TRUE。
不需要在派發(fā)了。
五、非模式對話框的銷毀?
使用:
非模式對話框使用CreateDialg建立。
可以在WinMain中建立主窗口后建立,對話框句柄保存?zhèn)溆谩?/p> hDlgModeless = CreateDialog ( hInstance,? TEXT ("ColorScrDlg"), //對話框模板 hwnd,? ColorScrDlg //對話框消息處理函數(shù) );
消息循環(huán)添加針對非模式對話框的處理?
“非模式對話框”與“模式對話框”不同,模式對話框工作的時候,有其內(nèi)部的消息泵機制。
而非模式對話框則象普通窗口一樣,由WinMain中書寫的消息循環(huán)驅(qū)動。
但由于是對話框,它對一些消息有特殊的處理,例如用于在對話框中各子控件間導航的"TAB"鍵、"ENTER"鍵等等。
因此,在消息循環(huán)中,需要先給對話框提供截獲消息的機會。
如果當前取得的消息是對話框消息的話,IsDialgMessage將它交由對話消息處理函數(shù)處理,并返回TRUE。
不需要在派發(fā)了。
六、非模式對話框的銷毀?
使用:
轉(zhuǎn)載于:https://my.oschina.net/ypimgt/blog/69367
總結
以上是生活随笔為你收集整理的非模式对话框CreateDialog() 与 模式对话框 DialogBoxParam()和...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Win32】只此一篇 让你清楚明细模式
- 下一篇: 《华为基本法》