国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
MFC的彈出窗口置頂!~

在編寫MFC程序的時候,總是希望作為控制的面板頁面在我們的窗口界面以外,并且最好的是浮動的,這樣往往選用非模式的彈出式對話框。

 m_pPropertyDlg = new CPropretyDlg;
 m_pPropertyDlg->Create(IDD_DIALOG2);

不過新的問題出現(xiàn)了,點擊主窗口的時候,作為參考參數(shù)顯示的彈出式對話框就被遮擋在主窗體之后了,為了讓彈出式窗口始終顯示,我們讓他置頂。上圖中的【結(jié)構(gòu)視圖】和【控件屬性】兩個面板就是非模式彈出式對話框。

::SetWindowPos(m_pElementTree->m_hWnd,HWND_TOP,0,0,0,0,SWP_SHOWWINDOW|SWP_NOSIZE|SWP_NOMOVE);

這里有一個參數(shù)HWND_TOP,解釋是放在窗口隊列的最高位置,這個位置可選擇HWND_TOPMOST和HWND_TOP,在使用HWND_TOP無效果以后,選用了HWND_TOPMOST;這樣彈出式窗口就置頂了。本來事情到這里就結(jié)束了,不過還有一個問題隨后發(fā)生了。當我切換到其他程序的時候,彈出式的兩個非模式對話框依然是置頂?shù)?。這就讓我重新開始思考HWND_TOP和HWND_TOPMOST的區(qū)別,查了很多的資料都是這么解釋的:HWND_TOP是窗口隊列的置頂,HWND_TOPMOST是所有窗口的置頂;但是HWND_TOP為什么設(shè)定沒有效果呢?后來我才發(fā)現(xiàn)問題的所在,原來這兩個窗體要知道自己的父窗體。那么我們在創(chuàng)建這個對話框的時候就必須要告訴他父窗體才行:

 m_pPropertyDlg = new CPropretyDlg;
 m_pPropertyDlg->Create(IDD_DIALOG2,this);

這樣就完美了,看見沒有~~彈出的對話框只在你本程序的窗口序列中置頂了!!

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Word使用技巧
設(shè)置成TopMost屬性的子窗口在主窗口彈出對話框后不能移動
MFC右下角動畫彈出窗口類 MFC托盤程序類
Delphi-----窗體置頂
關(guān)閉由MessageBox()彈出的對話框
MFC中如何將焦點設(shè)置到指定控件上
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服