Changing the title of the mainframe window
Seetharaman G -- CGS@wintegrity.com Tuesday, December 31, 1996 Hi, Environment: VC++ 4.2-flat, WIN95,NT 3.51/4.0 We are using VC++ ver 4.2 and are in the process of migrating from the 16bit version. How do we change the title in the mainframe window ? In the 16bit version we had a function in CMainFrame class called SetTitle which would initialize the m_strTitle member variable of the CMainFrame class. We used to call this function from the InitInstance and it used to do the job for us. The same scheme gives an exception in the 32bit version. The function we used in the 16bit version is as follows void CMainFrame::SetTitle(CString strTitle) { m_strTitle = strTitle; SetWindowText(m_strTitle); } We used to invoke this from the InitInstance as follows ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->SetTitle(strAppTitle); Any help would be greatly appreciated. Thanks. Ram
smith137@mc.duke.edu Tuesday, December 31, 1996 Ram: Where precisely are you asking for the value of m_pMainWnd in InitInstance? Is your GPF the result of m_pMainWnd being NULL? I can still do something similar to what you are doing, so I suspect this has something to do with where you are doing it. Can you send me the code for your InitInstance method? Dwight _______________________ Reply Separator _______________________ Subject: Changing the title of the mainframe window Author: CGS@wintegrity.com at Internet Date: 12/31/96 10:10 AM Hi, Environment: VC++ 4.2-flat, WIN95,NT 3.51/4.0 We are using VC++ ver 4.2 and are in the process of migrating from the 16bit version. How do we change the title in the mainframe window ? In the 16bit version we had a function in CMainFrame class called SetTitle which would initialize the m_strTitle member variable of the CMainFrame class. We used to call this function from the InitInstance and it used to do the job for us. The same scheme gives an exception in the 32bit version. The function we used in the 16bit version is as follows void CMainFrame::SetTitle(CString strTitle) { m_strTitle = strTitle; SetWindowText(m_strTitle); } We used to invoke this from the InitInstance as follows ((CMainFrame*)(AfxGetApp()->m_pMainWnd))->SetTitle(strAppTitle); Any help would be greatly appreciated. Thanks. Ram
Antonio Jorge Marques Pires -- AntonioPires@mail.telepac.pt Thursday, January 02, 1997 Seetharaman, Changing title, menu and icon to IDR_TECHNICAL_MAINFRAME ... void CMainFrame::OnConfigurarModotecnico() { // CPasswordDlg::OperationMode Mode = CPasswordDlg::OperationMode::Tecnico; // if (CPasswordDlg::CheckPassword(Mode, FALSE)) { CMenu newMenu; newMenu.LoadMenu (IDR_TECHNICAL_MAINFRAME); AfxGetMainWnd()->SetMenu( &newMenu ); AfxGetMainWnd()->DrawMenuBar(); newMenu.Detach (); AfxGetMainWnd()->SetIcon(AfxGetApp()->LoadIcon(IDR_TECHNICAL_MAINFRAME), FALSE); AfxGetMainWnd()->SetWindowText ( "Your Title is here" ) ; // theApp.m_Mode = CPasswordDlg::OperationMode::Tecnico; // } } -- Antonio Pires
RIchard -- kdtexas@Onramp.NET Sunday, January 05, 1997 Try virtual void SetTitle( LPCTSTR lpszTitle ) which is a virtual function in CDocument . If you are using a MDI interface you can use this as long as the views do not share the same document. If they do, the easiest way is to override the CView function OnUpdate() and use the CWnd function SetWindowText(lpsz Ttitle). This will change the title of the window on a window by window basis. All things are possible, however, some are not needed.
| Вернуться в корень Архива |