?? sy0403.htm
字號:
<html>
<HEAD>
<TITLE>Visual C++與計算機接口</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312" >
</HEAD>
<body>
<font color="#0000FF">創建窗口</font>
<p>
(一)實驗目的:<BR>
熟悉窗口的創建和使用<BR><BR>
(二)實驗內容:<BR>
用ClassWizard建立一個窗口類,創建顯示一個窗口<BR><BR>
(三)實驗步驟:<BR><BR>
CMDIChildWnd的小缺點是不與CDocument類聯系,無法享有CDocument的一些方便,但這也不是不能克服的。<BR>
CMDIChildWnd的優點是可以方便的定義多種不同的CMDIChildWnd以實現不同的功能,可以方便的創建和關閉多個窗口。<BR><BR>
1、用ClassWizard建立一個窗口類<BR>
(1)打開ClassWizard,點擊按鈕Add Class...并選擇New。<BR>
(2)New Class 對話框打開后,填入Name,例如CMyWindow。<BR>
(3)選擇基類Base Class,通常選CMDIChildWnd。<BR>
(4)點擊OK,新類CMyWindow就建立好了。<BR>
在FileView中,能看到工程所包含的文件中多了MyWindow.h和MyWindow.cpp兩個文件,它們里面就是CMyWindow類的定義和實現。<BR><BR>
2、創建并顯示窗口<BR>
窗口的創建通常是調用其Create函數,函數參數中一般包括窗口的標題、窗口顯示風格、窗口的位置、父窗口的指針等。<BR>
(1)打開MyWindow.h文件,將 CMyWindow(); 前的 protected: 改為 public: <BR>
(2)在MainFrm.h中,包含MyWindow.h。<BR>
(3)定義一個新菜單項,并在CMainFrame中進行消息映射。<BR>
(4)在映射函數中,定義窗口指針并創建窗口。<BR>
CMyWindow* pWnd = new CMyWindow;<BR>
pWnd->Create(NULL,_T("MyWindow"), WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL, rectDefault, this);<BR>
注意:這里只能定義窗口指針,不能象顯示對話框那樣定義窗口對象。<BR>
因為對象的生命期只是在其定義有效的區域,出了其定義區域,對象所占的資源會自動釋放掉。<BR>
而指針本身不占任何資源,其所需的資源是通過new操作符從堆中申請的,必須主動釋放。若不釋放,則會在程序運行過程中一直存在。<BR><BR>
3、操作窗口和關閉窗口<BR>
若把窗口指針定義為類的成員變量,則在窗口生成后,可以通過調用窗口類的函數來隨意操縱它,例如改變其顯示方式、關閉窗口、改變其內部數據等。<BR>
(1)在MainFrm.h中,定義窗口指針:<BR>
CMyWindow* m_pMyWindow;<BR>
(2)在菜單映射函數中創建窗口:<BR>
m_pMyWindow = new CMyWindow;<BR>
m_pMyWindow->Create(NULL,_T("MyWindow"), WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW|WS_HSCROLL|WS_VSCROLL, rectDefault, this);<BR>
(3)在另一菜單映射函數中改變其顯示方式:<BR>
m_pMyWindow->ShowWindow(SW_SHOWMAXIMIZED);<BR>
或 m_pMyWindow->ShowWindow(SW_SHOWMINIMIZED);<BR>
(4)在另一菜單映射函數中關閉窗口:<BR>
m_pMyWindow->DestroyWindow();<BR>
<p></p>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -