Visual C++ 4.0窗口標題的改變.docx_第1頁
Visual C++ 4.0窗口標題的改變.docx_第2頁
Visual C++ 4.0窗口標題的改變.docx_第3頁
Visual C++ 4.0窗口標題的改變.docx_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Visual C+ 4.0窗口標題的改變 有些時候,我們不得不改變所編Windows應(yīng)用程序窗口的標題。比如,想編一個標題名為“Communication Soft”的軟件。雖然在Windows95或Windows NT下,Visual C+(以下簡稱VC)可以生成以“Communication Soft”為名的工程,但該工程下的C+類的名稱也要帶上這么多的字符,給編程帶來不便。所以我采用的方法是生成以“CS”為名的工程,再把程序的標題改成“Communication Soft”。再比如,我希望每個子窗口的標題并不是“(1”、“(2”這種類型,而是象“采甲1通風(fēng)量”、“通戊4瓦斯量”這樣子窗口與子窗口標題無關(guān)。這些都需要改變各種窗口標題。下面我介紹我改變窗口標題所用的方法,我所用的開發(fā)平臺是Visual C+ 4.0。一單文檔接口(SDI)類型窗口標題的改變首先,我們來看Windows SDI類型窗口標題欄的結(jié)構(gòu)形式。結(jié)合具體例子說明:用VC的AppWizard創(chuàng)建一個名為“SDITitle”的單文檔類型的工程,創(chuàng)建完工程后,編譯運行該工程,程序主窗口標題形式如下: 文檔標題 主窗口標題1文檔標題的改變文檔標題在是由工程中相應(yīng)的文檔類所控制的,我們可做如下實驗。運行上面AppWizard生成的程序SDITitle,選擇選單中的“文件”“打開”選項,打開“SDITitile.h”文件,則標題欄變成“SDITitle.h - SDITitle”。這一切動作都是MFC類自動進行的。了解這一點,我們可在相應(yīng)的文檔類中,利用SetTitle () 函數(shù)來改變文檔標題。例:改變CSDITitleDoc:OnNewDocument() 函數(shù)為:BOOL CSDITitleDoc:OnNewDocument()if (!CDocument:OnNewDocument()return FALSE;SetTitle ( 文檔標題 );return TRUE;運行程序,則每次選擇選單中的“文件”的“新建”選項時,文檔標題就變成 “文檔標題- SDITitle”。2主窗口標題的改變主窗口的標題默認是工程的文件名,正如前面AppWazied生成的SDITitle工程執(zhí)行后,標題欄的形式總為“(文檔名)- SDITitle”。改變主窗口的標題有兩種:第一種方法:利用ResourceView打開工程的資源,修改String Table中的IDR_MAINFRAME的值。將原來的“SDITitlennTitlennnTitle.DocumentnTitle Document”改為“標題改變示例nnTitlenn nTitle. DocumentnTitle Document”。這樣改變后,主窗口標題欄的形式就為“(-標題改變示例”。第二種方法:具體改變方法如下:改變CSDIMainFrame的成員函數(shù)PreCreateWindow()為:BOOL CMainFrame:PreCreateWindow(CREATESTRUCT& cs)m_strTitle = 中國礦業(yè)大學(xué) ;return CFrameWnd:PreCreateWindow(cs);這改變后,標題欄的形式就為“(-中國礦業(yè)大學(xué)”。m_strTile是CFrameWnd的保護成員(令人驚奇的是,Visual C+ Books Online 4.0不顯示類的保護和私有的成員及函數(shù)。所以在m_strTile處按F1鍵,得不到相應(yīng)的幫助。要得到m_strTile更詳細的信息,請打開 msdev mfc include afxwin.h文件)。CSDIMainFrame則是CFrameWnd類的派生類。在這兩種改變方法中,第二種方法優(yōu)先級高。也就是說,改變了m_strTitle的值后,IDR_MAINFRAME的值就不起作用。二對多文檔接口(MDI)類型窗口標題的改變MDI類型窗口標題中,主窗口標題和文檔標題的次序,和SDI類型窗口中次序是不同的。結(jié)合具體例子說明,用VC的AppWizard創(chuàng)建一個名為“MDITitle”的多文擋類型的工程。創(chuàng)建完工程后,編譯運行該工程,主窗口標題形式如下:主窗口標題 (當(dāng)前打開的)文檔標題1文檔標題的改變MDI類型窗口的文檔標題也是由相應(yīng)的文檔類控制的。改變方法同SDI類型窗口類似,要改變標題,只要在相應(yīng)的文檔類中利用SetTitle()函數(shù)來改變文檔標題。2主窗口標題的改變MDI類型主窗口標題的改變方法同SDI類型窗口類似。改變主窗口標題也有兩種方法,通過改變IDR_MAINFRAME或m_strTitle的值就可實現(xiàn)改變主窗口標題的目的。同樣,改變了m_strTitle值后,IDR_MAINFRAME的值就不起作用。3子窗口標題的改變在默認情況下,MFC自動將子窗口標題設(shè)為該子窗口所打開的文檔標題。但實際上,子窗口標題與該子窗口標題所打開的文檔標題并不是同一回事。我們可做如下實驗:(利用ResourceView打開資源,修改String Table中的IDR_MAINFRAME的值為“中國礦業(yè)大學(xué)”,使得主窗口標題變成“中國礦業(yè)大學(xué)”。(將BOOL CMDITitleDoc:OnNewDocument()函數(shù)改為:BOOL CMDITitleDoc:OnNewDocument() if (!CDocument:OnNewDocument()return FALSE;static int count=0;char message10;wsprintf (message,%s%d,文檔,count);SetTitle (message);count+;return TRUE; 設(shè)置文檔標題為“文檔0”、“文檔1”. 。(r)將CChildFrame :PreCreateWindow() 函數(shù)改為:BOOL CChildFrame:PreCreateWindow(CREATESTRUCT& cs)cs.style &= (LONG) FWS_ADDTOTITLE;return CMDIChildWnd:PreCreateWindow(cs);改變窗口類型,這步工作必須做。常量FWS_ADDTOTITLE是在文件 msdev mfc include afxwin.h中定義。(在CMDITitleView類中增加OnInitialUpdate () 函數(shù):void CMDITitleView:OnInitialUpdate() CView:OnIni

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論