ik heb dus een combobox in een toolbar, die ik gedeclareerd heb in CMainFrame, nu moet de combobox dus vanuit de View klasse gevuld worden, maar wat ik ook die ik krijg telkens een unhandled exception (access violation 0xC0000005) vraag me dus af wat de manier is om dit te doen, ben er niet in geslaagd om de oplossing in een boek of met google te vinden, en na een uurtje of 6 wil ik het toch graag aan de praat krijgen...
zie onderstaande code voor wat m'n laatste poging was...
stukje van de View klasse dat van belang is...
stukje van CMainFrame dat van belang is...
Het gaat dus mis als de SetString functie wordt uitgevoerd, maar hoe krijg ik dan een string in m'n combobox vanuit de view class...
zie onderstaande code voor wat m'n laatste poging was...
stukje van de View klasse dat van belang is...
C++:
1
2
3
4
5
6
7
8
9
10
| int CComboToolBarView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; CMainFrame *mainFrame; mainFrame = (CMainFrame *) (AfxGetApp()->m_pMainWnd); mainFrame->SetString("Test05"); return 0; } |
stukje van CMainFrame dat van belang is...
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; m_ToolBar.Create(this); m_ToolBar.LoadToolBar(IDR_TOOLBAR1); m_ToolBar.SetButtonInfo(1, ID_BUTTON_GRAY, TBBS_SEPARATOR, 150); RECT rect; m_ToolBar.GetItemRect(1, &rect); rect.bottom = rect.top + 150; m_Combo.Create(WS_CHILD | CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | CBS_HASSTRINGS, rect, &m_ToolBar, ID_BUTTON_GRAY); m_Combo.ShowWindow(SW_SHOW); SetString("Test"); return 0; } void CMainFrame::SetString(CString p_String) { m_Combo.AddString(p_String); } |
Het gaat dus mis als de SetString functie wordt uitgevoerd, maar hoe krijg ik dan een string in m'n combobox vanuit de view class...