zjf_web
April 28th, 2003, 11:47 PM
I am a new ADOer. I am making an applications.
1. it is divided into 2 pane like outlook. Left pane is a formview with a CTreeCtrl, right pane is a frame.
2. Several different views (ex. a form view with a CListCtrl for today's job list) were pre-create on right pane's CreateClient event. Every form has its own menu.
3. while users choose different items of CTreeCtrl on left pane, view on right pane will change, and menu so.
4. on WM_SIZE of left pane, I resize the CTreeCtrl to whole pane.
code like:
if(GetSafeHwnd())
{
CRect cr;
GetClientRect(&cr);
if(m_MenuTree.GetSafeHwnd())
m_MenuTree.MoveWindow(&cr);
}
5. It works well. But when I changed CListCtrl(for ex.) to DataGrid and ADOCtrl(hide). CTreeCtrl failed to get window handle. So it will not resize anymore.
6. More, on WM_SHOWWINDOW of each form of right pane, I switch menu, code like:
CMenu tMenu;
tMenu.LoadMenu(IDR_BUNRILIST_TMPL);
AfxGetMainWnd()->SetMenu(&tMenu);
AfxGetMainWnd()->DrawMenuBar();
7. It crashed while using DataGrid.
I need help. And thanks for your time.
1. it is divided into 2 pane like outlook. Left pane is a formview with a CTreeCtrl, right pane is a frame.
2. Several different views (ex. a form view with a CListCtrl for today's job list) were pre-create on right pane's CreateClient event. Every form has its own menu.
3. while users choose different items of CTreeCtrl on left pane, view on right pane will change, and menu so.
4. on WM_SIZE of left pane, I resize the CTreeCtrl to whole pane.
code like:
if(GetSafeHwnd())
{
CRect cr;
GetClientRect(&cr);
if(m_MenuTree.GetSafeHwnd())
m_MenuTree.MoveWindow(&cr);
}
5. It works well. But when I changed CListCtrl(for ex.) to DataGrid and ADOCtrl(hide). CTreeCtrl failed to get window handle. So it will not resize anymore.
6. More, on WM_SHOWWINDOW of each form of right pane, I switch menu, code like:
CMenu tMenu;
tMenu.LoadMenu(IDR_BUNRILIST_TMPL);
AfxGetMainWnd()->SetMenu(&tMenu);
AfxGetMainWnd()->DrawMenuBar();
7. It crashed while using DataGrid.
I need help. And thanks for your time.