模態視窗建立時隱藏
在做畢業設計的時候遇到乙個問題,我在vc中通過主介面產生乙個視窗(其實是乙個程序),由於一直需要該程序在整個生命週期中都存在,所以該視窗使用dlg.domodal()的方式來不消滅。但是我的目的是想讓它成為後台的程序,而不想它出現視窗介面。這時候下面的方法可以用了:
模態視窗一建立後就會顯示,就算設定ws_visible屬性或在oninitdialog加入showwindow(sw_hide)也沒有效果.
下面這種方法可以比較好的解決這一問題:
首先宣告兩個變數.
rect m_nrect;
long m_exstyle;
在oninitdialog事件中加入如下**用來儲存原來的視窗位置和擴充套件風格.
m_exstyle = getwindowlong(hwnd ,gwl_exstyle);
getwindowrect(hwnd ,&m_nrect);
核心**,修改視窗的擴充套件風格和視窗尺寸
到了這裡視窗已經能夠隱藏了,恢復的時候應該怎麼辦呢?
在想要顯示視窗的時候加入如下**即可:
setwindowlong(hwnd ,gwl_exstyle ,m_exstyle); //恢復原來的視窗擴充套件風格和視窗位置
setwindowpos(hwnd ,null ,m_nrect.left,m_nrect.top ,m_nrect.right – m_nrect.left ,m_nrect.bottom – m_nrect.top, swp_nozorder | swp_showwindow );
MFC建立非模態子視窗
在第乙個視窗中,建立第二個視窗,如下 include second.h 第二個視窗標頭檔案 void ctestdlg onbnclickedbutton6 如果想在第二個視窗中銷毀子視窗。方法如下 void seconddig postncdestroy void seconddig oncanc...
C 模態視窗和非模態視窗
c 視窗對話方塊一般分為兩種型別 模態型別 modal 與非模態型別 modeless 所謂模態對話方塊,就是指除非採取有效的關閉手段,使用者的滑鼠焦點或者輸入游標將一直停留在其上的對話方塊。非模態對話方塊則不會強制此種特性,使用者可以在當前對話方塊以及其他視窗間進行切換下例中的form1使用模態方...
關於模態視窗
一.1.模態視窗 開啟後不可以操作父親視窗var returnvalue window.showmodaldialog url,arguments,features 2.非模態視窗 開啟後可以操作父親視窗var returnvalue window.showmodelessdialog url,ar...