C++语言 对话框程序设计
生活随笔
收集整理的這篇文章主要介紹了
C++语言 对话框程序设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include "Book.h"
//模式對話框的創建
CBook book; //定義CBook對象
book.DoModal(); //調用DoModal方法顯示模態對話框
CBook *pbook;
pbook = new CBook();
pbook->DoModal();
delete pbook;//非模式對話框的創建
if(!IsWindow(m_book.m_hWnd))
{m_book.Create(IDD_Book, NULL);
}
m_book.ShowWindow(SW_SHOW);//在創建模式對話框時,定義的是局部變量,而創建非模式對話框時創建的是成員變量.在創建模式對話框時,調用DoModal方法創建對話框時,當前純種被阻塞,直到模式對話框關閉.在關閉模式對話框時,OnOK方法調用完成,局部對象Book的作用域消失,導致調用基類的析構函數釋放了窗口資源.因此,對于模式對話框,如果將其關閉,再重新創建不會出現錯誤.
//而創建非模式對話框使用的是成員變量,這是有原因的.因為調用Create方法創建對話框不會導致當前的純種被阻塞,會繼續執行其后的代碼.如果采用下面的形貌:
CBook Book;
Book.Create(IDD_Book, NULL);
Book.ShowWindow(SW_SHOW);
//在調用Create方法后,緊接著釋放創建的對話框資源,因此執行上述代碼,窗口創建并顯示后馬上就消失了.
m_Book.SetWindowText("hello"); //設置對話框文本
m_Book.ModifyStyle(WS_CAPTION, 0, 0); //去除標題欄
m_Book.ModifyStyle(0, WS_THICKFRAME, 0); //添加WS_THICKFRAME 風格
m_Book.ModifyStyleEx(0, WS_EX_TOOLWINDOW, 0);//設置工具欄窗口風格(修改對話框的擴展風格)
m_Book.ModifyStyleEx(0, WS_EX_ACCEPTFILES, 0); //設置Accept files屬性
//其中窗口的擴展風格常量值可以在MSDN中的CreateWindowEx函數的幫助文檔中找到.
轉載于:https://www.cnblogs.com/pythonschool/archive/2012/11/12/2766317.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的C++语言 对话框程序设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android使用的设计模式2——策略模
- 下一篇: Asp.net MVC 多语言问题的解决