mfc程式的預設的標題是「無標題-title」,其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?
mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改「無標題」部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwindowtext設定,也可以編輯字串資源中的idr_mainframe字串,將第乙個"n之前的字串替換掉即可,而如果你想把「無標題」部分除掉,則必須修該視窗的風格。
一、修改前半部分
1) 可以過載文件類的虛函式settitle
void ctestdoc::settitle(lpctstr lpsztitle)
cdocument::settitle(l"你的標題");
也可以在 ctestdoc::onnewdocument()中新增settitle(l"你的標題");
二、修改後半部分
1) 修改資源字串: 將資源檔案中的idr_mainframe修改為
修改此處"n"nchange"n"n"nchangetitle.document"nchangedocument 資源字串中各子串的含義可以參考:idr_mainframe字串資源中各子串的含義
2) 使用框架視窗類的setwindowtext(l"你的標題"):
m_pmainwnd->setwindowtext(l"你的標題");
或者在其他地方用afxgetmainwnd()->setwindowtext(l"你的標題");
3) 如果您想除掉標題中間的「-」,
可以通過重cframwnd類的onupdateframetitle函式,這個函式在vc提供的幫助檔案中找不到,必須手工新增
virtual void onupdateframetitle(boolnada);
void cmainframe.:onupdateframetitle(boolnada)
4) 是在cmainframe的precreatewindow函式中修改視窗風格:
bool cmainframe.:precreatewindow(createstruct&cs)
cs.style. &= ~(long) fws_addtotitle;
return cframewnd::precreatewindow(cs);
使用此方法,視窗的標題只顯示idr_mainframe字串中第乙個"n之前的部分
更改idr_mainfrm指向的ico檔案,該圖示有兩種格式,32×32和16×16,這兩種格式都要改,還可以在主框架的oncreate函式裡指定使用哪個圖示:
修改mfc標題欄上的圖示
hicon m_hicon;
在mainfrm的oncreate()裡
seticon(m_hicon, true); // set big icon
seticon(m_hicon, false); // set small icon
若更改應用程式的圖示,先引入該圖示資源,在resource.h檔案中修改該資源的id值,必須使該資源號在ico資源中最小,否則mfc將使用ico資源號最小的圖示
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」
如何修改MFC視窗標題
mfc程式的預設的標題是 無標題 title 其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改 無標題 部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwind...
如何修改MFC視窗標題
mfc程式的預設的標題是 無標題 title 其中title是應用程式的名稱,我們應如何修改mfc視窗標題來符合自己的要求?mfc程式的文件類中定義了乙個虛函式settitle,用於設定視窗標題的前半部分,如果只是要修改 無標題 部分,可以過載文件類的該函式。視窗標題的後半部分可以通過setwind...
MFC 如何修改視窗的標題CFrameWnd
來自 一.修改標題 標題分為前後兩部分,前面一部分預設是文件名,後面一部分預設是工程名,比如我新建乙個叫做uitest的工程,那標題就是 uitest1 uitest 後面都用這個工程為例。1.修改前半部分 可以過載文件類的虛函式settile,如下 void ctestdoc settitle l...