Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 软件开发 / C++ / 编写多文档应用程序

编写多文档应用程序2010-07-06王雪松一、动态菜单与工具栏

(未登录状态)

(登陆状态)

实现原理:

1.菜单

BOOL SetMenu(
HWND hWnd, // handle to window
HMENU hMenu // handle to menu
);

可以改变菜单。

2.工具栏

BOOL CToolBarCtrl::SetState( int nID, UINT nState );

可以改变工具栏按钮状态。

还要调用CFrameWnd::RecalcLayout()函数计算工具栏尺寸。

二、自制对话条

//创建对话条
if(!m_wndBar.Create(this,IDD_DIALOGBAR,WS_CHILD|WS_VISIBLE|
CBRS_BOTTOM|CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY |
CBRS_SIZE_DYNAMIC,IDD_DIALOGBAR))
//操纵对话条上的CTabCtrl控件
CTabCtrl * ptab=(CTabCtrl *)m_wndBar.GetDlgItem(IDC_TAB_INFO);
ptab->InsertItem(0,"操作信息");
ptab->SetImageList(&((CMainFrame *)AfxGetMainWnd())->m_imageList);
……………
//隐藏和显示CListBox控件
CListBox * plistInfo = (CListBox*)m_wndBar.GetDlgItem(IDC_LIST_INFO);
plistInfo->SetWindowPos(NULL,
0,
0,
GetSystemMetrics(SM_CXSCREEN)-11,
75,
SWP_NOMOVE|SWP_NOZORDER | SWP_NOACTIVATE|SWP_SHOWWINDOW);