停靠工具栏:在刚才添加的后面加入下面代码:
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle()|CBRS_TOOLTIPS|
CBRS_SIZE_DYNAMIC);
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);//控制是否开启任意停靠
完善一下功能:
在菜单中添加一项“工具栏”,ID 设为 ID_VIEW_TOOLBAR,一切 OK,试试吧!
七、创建分隔窗口:
只有框架类可以创建分隔,分隔可以嵌套。
在.h 文件中声明CSplitterWndm_wndSplitter;并且包含 COneView.h(新建视图类)和
CWinFrame.h(新建框架类)文件;
然后在.cpp 文件中加入:
BOOLCMainFrame::OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pCont
ext)
{
if(!m_wndSplitter.CreateStatic(this,1,2))
returnFALSE;
if(!
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(COneView),CSize(240,420),pContext)
)
returnFALSE;
if(!
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CWinFrame),CSize(300,500),pContex
t))
returnFALSE;
returnTRUE;
}
当用户创建好分割窗口后,有时并不希望通过拖动切分条来调节窗口的大小。这时就必须
锁 定 切 分 条 。 锁 定 切 分 条 的 最 简 单 的 方 法 莫 过 于 不 让 CSplitterWnd 来 处 理
WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_SETCURSOR 消息,而是将这些消息交
给 CWnd 窗口进行处理,从而屏蔽掉这些消息。拿 WM_LBUTTONDOWN 处理过程来说。
修改为如下:
voidCXXSplitterWnd::OnLButtonDown(UINTnFlags,CPointpoint)
{
CWnd::OnLButtonDown(nFlags,point);
}
其余的处理方法类似。
八、“打开”按钮的设置:
用类向导创建该按钮的 click 函数,选择默认值 OnOpen,加入以下代码:
voidCYourDlg::OnOpen()
{
charszFileFilter[]=
"BINFile(*.bin)|*.bin|"