模態視窗與非模態視窗

來源:互聯網
上載者:User

小談wince下模態視窗與非模態視窗

一:建立

非模態視窗的建立

Code
FiveListWnd* five=new FiveListWnd();
five->Create(0,0,400,600,m_hWnd, 0, 0);
five->SetBgColor(RGB(255,255,255))
five->Show();

模態視窗的建立

 

Code
1FiveListWnd five;
2five.Create(0,0,400,600,m_hWnd, 0, 0);
3five.SetBgColor(RGB(255,255,255))
4five.DoModal();

二:兩者區別

     其一:強制回應視窗被開啟後就會始終保持輸入焦點。除非視窗被關閉,否則使用者無法切換到父視窗。   
               非模態視窗則可以講焦點移到父視窗下。切換視窗可以用Show(False)

     其二:從上面可以看出非模態視窗必須要new

     其三:關閉視窗的方法不同

          非模態視窗要用CWnd::DestroyWindow

          模態視窗要用CDialog::EndDialog

          因為非模態視窗是new出來的 所以最後一定要delete。雖然DestroyWindow(),但實際上視窗執行個體並未被析構。

三:注意

Create(0,0,400,600,m_hWnd, 0, 0);

 中的m_hWnd是父視窗的控制代碼。在five視窗也就是子視窗中可以用GetParent()來獲得其父視窗的控制代碼

小談wince下模態視窗與非模態視窗

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.