home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 16030 < prev    next >
Encoding:
Text File  |  1996-08-05  |  2.0 KB  |  64 lines

  1. Path: news.easynet.co.uk!usenet
  2. From: dgo@easynet.co.uk (dgo)
  3. Newsgroups: comp.lang.c++,comp.os.ms-windows.programmer.tools.mfc
  4. Subject: Re: CFormView and SetWindowText()
  5. Date: 9 Apr 1996 08:29:34 GMT
  6. Organization: easynet
  7. Message-ID: <4kd75e$o85@lemon.easynet.co.uk>
  8. References: <4k0p7i$btp@news.icubed.com>
  9. NNTP-Posting-Host: dgo.easynet.co.uk
  10. Mime-Version: 1.0
  11. Content-Type: Text/Plain; charset=ISO-8859-1
  12. X-Newsreader: WinVN 0.99.6
  13.  
  14. In article <4k0p7i$btp@news.icubed.com>, stevejones@ansys.com° says...
  15. >
  16. >Using MFC:
  17. >
  18. >I've got an MDI app using a CFormView derived class for the
  19. >views.  I collect data from via controls in this view.  Once
  20. >I get a particular CString datum, m_filename, I try to
  21. >change the view windows caption in the title bar to that
  22. >CString:
  23. >
  24. >SetWindowText(m_filename);
  25. >
  26. >However, nothing happens.  GetWindowText() returns my
  27. >string.  But visually, the change doesn't take effect.  I do
  28. >this sort of thing regularly with dialog windows without any
  29. >trouble.  What am I doing wrong?
  30. >
  31. You need to override OnUpdateFrameTitle() in a class derived from 
  32. CMDIChildWnd which will be associated with your form view. The reason that 
  33. your version doesn't work is that for child MDI windows the window text is 
  34. ignored in producing the frame title which instead is made up of the filename 
  35. and the number of the view associated with that document.
  36.  
  37. This is a version I have used so that when there is no filename associated 
  38. with an SDI form it has no title. The priciples will hold for MDI children as 
  39. well. 
  40.  
  41. void CSDIChildFrame::OnUpdateFrameTitle(BOOL bAddToTitle)
  42. {
  43.     CString sCurTitle, sAppTitle, sDocTitle;
  44.     CDocument* pDoc = GetActiveDocument();
  45.     if (pDoc)
  46.     {
  47.         pDoc->GetDocTemplate()->GetDocString(sAppTitle,
  48.         CDocTemplate::windowTitle);
  49.             sDocTitle = pDoc->GetTitle();
  50.         
  51.         if (sDocTitle != "Untitled" && bAddToTitle)
  52.             sAppTitle += " - " + sDocTitle;
  53.     
  54.         GetWindowText(sCurTitle);
  55.         if (sCurTitle != sAppTitle)
  56.             SetWindowText(sAppTitle);
  57.     }
  58. }
  59.  
  60. happy hunting!
  61.  
  62. daniel
  63.  
  64.