CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何更改程序的标题栏?

楼主laserman(天使来自火星)2002-04-29 09:29:26 在 VC/MFC / 基础类 提问

在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

相关问题

  • 请问在SDI程序中如何更改标题栏
  • 在多文档程序中如何更改顶端标题栏的内容
  • 如何在程序中更改活动窗口标题栏颜色?
  • 如何更改标题栏文本
  • 如何让程序打开时呈最大化窗口,更改标题栏。(AppWizard中忘了选:《)
  • jbuilder5中如何更改frame标题栏上的小图标?
  • 请问如何动态更改标题栏的标题??
  • 如何创建没有标题栏的应用程序?
  • 一个MDI程序,如何屏蔽子窗口的标题栏
  • 如何去掉SDI程序的标题栏呢?

关键词

  • onupdateframetitle
  • 程序
  • setwindowtext
  • scas
  • afxgetmainwnd
  • settitle
  • 标题
  • 派生类
  • 名字
  • 改变

得分解答快速导航

  • 帖主:laserman
  • scklotz
  • goodboyws

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo