一个程序是多视,有很多窗口按序打开,注意什么都不要动,仅仅打开窗口。
SetWindowText是在OnDraw中实现的,代码如下:
  CFrameWnd* pWnd=GetParentFrame();
  pWnd->SetWindowText("窗口1");
结果可以看到的奇怪现象: 
打开第一个窗口,窗口标题是“窗口1”,但当打开第二个窗口时,奇怪的现象发生了,第二个窗口标题是对的,但第一个窗口显示的却是“无标题”,同样第三个窗口打开时,第二个窗口的标题变为“无标题”,如此反复。
   当你移动或点击任何一个已打开的窗口后,该窗口将不再发生此类现象。
   大侠们,您说怪不怪?

解决方案 »

  1.   

    FWS_ADDTOTITLE   Specifies information to append to the end of a frame window title. For example, "Microsoft Draw - Drawing in Document1". You can specify the strings displayed in the Document Template Strings tab in the Application Wizard. If you need to turn this option off, override the CWnd::PreCreateWindow member function.
      

  2.   

    FWS_ADDTOTITLE不能解决问题。情况依然如旧。
    我知道主窗口的Title可以在资源的string table中就可以修改,但在视图窗口中的Title在哪里可以彻底修改?
      

  3.   

    http://www.codeguru.com/advancedui/CustomCaptions.shtml
    这个例子可以参考一下
      

  4.   

    mdi自窗口的标题是通过某个虚函数来设置的,如果你在OnDraw里更改的话,就产生两个地方分别以不同的方式更改标题,他们执行顺序不同,也就造成结果不同了,你查查应该在ChildFrame里有更改子窗口标题的虚函数,重载着个函数。
      

  5.   

    To : masterz() 
    你的星星和国旗一样多呀