如何更改程序的标题栏?
在SDI程序中,如何更改菜单上面的标题栏,有运行时改变和初始化时改变两种情况.
高手帮帮忙,谢谢
问题点数:20、回复次数:13Top
1 楼LocalVar(分乃身外之物,即使我回答对了,也别给分)回复于 2002-04-29 09:31:33 得分 0
AfxGetMainWnd()->SetWindowText("sdlkjf");Top
2 楼kenwhale(屠夫)回复于 2002-04-29 09:42:19 得分 0
agreeTop
3 楼arjo(3w.com)回复于 2002-04-29 09:47:32 得分 0
api:
//
::SetWindowText();
or
//may change backgroud color and font
GetWindowDC();
TextOut();
Top
4 楼huanyun(无妻徒刑)回复于 2002-04-29 09:50:40 得分 0
SetWindowText();
Top
5 楼zeusyan()回复于 2002-04-29 09:53:43 得分 0
重载void CxxDoc::SetTitle(LPCTSTR lpszTitle)Top
6 楼laserman(天使来自火星)回复于 2002-04-29 09:54:44 得分 0
怎么不能用?
void CScasView::OnInitialUpdate()
{.........
AfxGetMainWnd()->SetWindowText("sdlkjf");
}
程序依然显示"scas-无标题"
Top
7 楼scklotz(晓春)回复于 2002-04-29 09:55:38 得分 5
CYouDocument::OnNewDocument( ... )
{
... ...
this->SetTitle( "名字" );
... ...
}Top
8 楼laserman(天使来自火星)回复于 2002-04-29 10:03:17 得分 0
还是不对:
CYouDocument::OnNewDocument( ... )
{
... ...
this->SetTitle( "名字" );
... ...
}
结果变成"scas-名字"
其中"scas"是我的工程名.Top
9 楼shawn_liu()回复于 2002-04-29 10:07:29 得分 0
是MDI吗?Top
10 楼goodboyws(深夜不眠者(VCMVP))回复于 2002-04-29 10:07:42 得分 15
回复人: goodboyws(深夜不眠者) ( ) 信誉:100 2002-04-28 14:00:00 得分:0
重载框架窗口(CFrameWnd派生类)的OnUpdateFrameTitle函数,否则程序会自动改变窗口标题
mainfrm.h
...
virtual void OnUpdateFrameTitle(BOOL bAddToTitle);
mainfrm.cpp
...
void CMainFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
{
//重栽为空
}
然后你就可以在随便什么地方SetWindowText了,窗口标题会保持不变
子窗口也一样
Top
Top
11 楼shawn_liu()回复于 2002-04-29 10:11:39 得分 0
AfxGetMainWnd()得到的是CWnd*类型的指针,你应该进行强制类型转换成你的派生类。Top
12 楼laserman(天使来自火星)回复于 2002-04-29 10:32:51 得分 0
to goodboyws(深夜不眠者)
方法好用,不过OnUpdateFrameTitle是COleClientItem的虚函数,COleClientItem和CFrameWnd均是CCmdTarget的派生类,二者之间有什么关系吗Top
13 楼code_cold(橘右京傲战八方)回复于 2002-04-29 10:33:38 得分 0
特急,大家一定帮我,我的硬盘被CIH干掉了,现在设成SLAYER模式,如何恢复数据 ??
一定要有实际经验 !!
http://www.csdn.net/expert/topic/688/688240.xml?temp=.1550257Top




