MFC程式視窗標題設定

2021-08-28 20:29:34 字數 2435 閱讀 9165

mfc程式的預設的標題是「無標題-title」,其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?

mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改「無標題」部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwindowtext設定,也可以編輯字串資源中的idr_mainframe字串,將第乙個\n之前的字串替換掉即可,而如果你想把「無標題」部分除掉,則必須修該視窗的風格。

一、修改前半部分

1) 可以過載文件類的虛函式settitle

void ctestdoc::settitle(lpctstr lpsztitle)

cdocument::settitle(l"你的標題");

也可以在 ctestdoc::onnewdocument()中新增settitle(l"你的標題");如下:

bool cmy123doc::onnewdocument()

afxgetmainwnd()->setwindowtext("你的標題");**新增在view::ondraw(cdc* pdc)中,效果與上面相同

修改主視窗:和單文件程式一樣。但是在文件類中更改則只更改了框架視窗標題後的說明文字和子視窗的標題。

修改子視窗:

在view::ondraw(cdc* pdc)中新增getparentframe ( ) -> setwindowtext (_t ("mdi child frame new title"));

二、修改後半部分

1) 修改資源字串:

將資源檔案中的idr_mainframe修改為

修改此處\n\nchange\n\n\nchangetitle.document\nchange document

資源字串中各子串的含義可以參考:idr_mainframe字串資源中各子串的含義

2) 使用框架視窗類的setwindowtext(l"你的標題"):

m_pmainwnd->setwindowtext(l"你的標題");

或者在其他地方用afxgetmainwnd()->setwindowtext(l"你的標題");

3) 如果您想除掉標題中間的「-」,

可以通過重cframwnd類的onupdateframetitle函式,這個函式在vc提供的幫助檔案中找不到,必須手工新增

virtual void onupdateframetitle(bool nada);

void cmainframe.:onupdateframetitle(bool nada)

4) 是在cmainframe的precreatewindow函式中修改視窗風格:

bool cmainframe.:precreatewindow(createstruct& cs)

cs.style. &= ~(long) fws_addtotitle;

return cframewnd::precreatewindow(cs);

使用此方法,視窗的標題只顯示idr_mainframe字串中第乙個\n之前的部分

修改mfc標題欄上的圖示

hicon m_hicon;

在mainfrm的oncreate()裡

seticon(m_hicon, true); // set big icon

seticon(m_hicon, false); // set small icon

idr_mainframe字串資源中各子串的含義

idr_mainframe字串資源中包含7個子串,分別以\n結束,即如下格式:

\n\n\n\n\n\n\n

(1)cdoctemplate::windowtitle,主視窗標題欄上的字串,mdi程式不需要指定,將以idr_mainframe字串為預設值。

(2)cdoctemplate::docname,預設文件的名稱。如果沒有指定,預設文件的名稱是無標題。

(3)cdoctemplate::filenewname,文件型別的名稱。如果應用程式支援多種型別的文件,此字串將顯示在"file/new"對話方塊中。如果沒有指定,就不能夠在"file/new"對話方塊處理這種檔案。

(4)cdoctemplate::filtername,文件型別的描述和乙個適用於此型別的萬用字元過濾器。這個字串將出現在「file/open」對話方塊中的檔案型別列表框中。要和cdoctemplate::filterext一起使用。

(5)cdoctemplate::filterext,文件的副檔名。如果沒有指定,就不能夠在「file/open」

如何去掉「無標題」

1.在主程式中的initinstance():  

m_pmainwnd->setwindowtext("你要顯示的東西如果不想顯示置空就行")

2.在框架類的precreatewindow函式裡修改風格  

bool   cmainframe::precreatewindow(createstruct&   cs)  

如何修改MFC視窗標題

mfc程式的預設的標題是 無標題 title 其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改 無標題 部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwind...

如何修改MFC視窗標題

mfc程式的預設的標題是 無標題 title 其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改 無標題 部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwind...

修改MFC主視窗標題

在vs2010下新建乙個mfc的多文件應用程式,程式預設的標題是 文件名 工程名 圖示預設的是寫著mfc的三個方塊。但在很多軟體中都不是使用的預設設定,開發者們都將標題和圖示改過,以符合專案要求,而且直觀好看。一.修改標題 標題分為前後兩部分,前面一部分預設是文件名,後面一部分預設是工程名,比如我新...