Hello All,
I need to add CMFCOutlookbar control in my application. I used MSDN help and successfully able to add this control in the new applications in VS2008. But when i tried the same in my existing application, its giving crash while adding tabs.
Here is the code :
m_wndOutlookBar.SetMode2003(FALSE);
BOOL flag = m_wndOutlookBar.Create (_T("Shortcuts"), this, CRect (0, 0, 100, 200), ID_VIEW_NAVIGATION, WS_CHILD | WS_VISIBLE | CBRS_LEFT);
CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();
flag = m_wndOutlookPane.Create (&m_wndOutlookBar, AFX_DEFAULT_TOOLBAR_STYLE, IDS_OUTLOOKBAR, AFX_CBRS_FLOAT | AFX_CBRS_RESIZE);
// make the Outlook pane detachable (enable docking)
m_wndOutlookPane.EnableDocking (CBRS_ALIGN_ANY);
flag = m_wndOutlookPane.AddButton (IDR_MAINFRAME, _T("Open"), ID_FILE_OPEN);
flag = pOutlookBar->IsMode2003();
pOutlookBar->AddTab (&m_wndOutlookPane, _T("Normal"), (UINT) -1, TRUE); //Giving crash at this line
pOutlookBar->AddTab (&m_wndOutlookPane, _T("Kernel"), (UINT) -1, TRUE);
It would be very helpful if anybody gives me directions to fix this problem.
Thanks in advance !!
What is "crashing"? You app?, VS2008?
And how is it crashing?
Its giving exception. As its MDI application and im adding all this code in child frame....and im getting output as "Failed to create empty document" and if i comment this code application runs well.
What is the difference between *your application* and a *new MFC application*?
Its already developed application and has 5 splitter windows created in child frame. One of the splitter window contains the main view, which display some list control. I am told to display outlookbar in that view and list under outlook bar.
So outlookbar control display is the first step to do this task, where i am facing a problem.
You didn't answer about any difference ...
Well, then maybe you'll just copy your old code to the new created project which runs without problem with a new CMFCOutlookbar?
Problem was with main frame and child frame base classes. As project was started in VS2005, base classes were CMDIFrameWnd and CMDIChildWnd. I modified the code support extended classes and got it working.
I dont know whats the actual reason but it seems to be compatibility issue while migration from VS2005 to VS2008.
Bookmarks