工具条停靠后窗口的扩展

1. 用向导创建一个 SDI 程序,在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 中加入:

//
HBRUSH hbr=CreateSolidBrush(RGB(0,255,255));
SetClassLong(m_wndToolBar.m_hWnd,GCL_HBRBACKGROUND,(long)hbr);


m_wndToolBar.EnableDocking(CBRS_ALIGN_TOP);
EnableDocking(CBRS_ALIGN_TOP);
DockControlBar(&m_wndToolBar);
//
return 0;
}

则:窗口如下.

2. 从CToolBar 派生cMtToolbar。

在 CMyToolbar 中,响应:

// CMyToolBar message handlers
void CMyToolBar::OnWindowPosChanged(WINDOWPOS FAR* lpwndpos) 
{
CToolBar::OnWindowPosChanged(lpwndpos);

// TODO: Add your message handler code here
if(!IsFloating())
{
CMainFrame *pMain=(CMainFrame *)AfxGetMainWnd();
if(pMain)
{// get frame wid
CRect frmRC;
pMain->GetClientRect(frmRC);
// get toolbar hei
CRect rc;
GetWindowRect(rc);
ScreenToClient(&rc);
MapWindowPoints(pMain,&rc);
//
MoveWindow(-2,-2,frmRC.Width(),rc.Height());
}
}
}

2。这时工具条为:


3。浮动时:



阅读更多
文章标签: MFC SDI TOOLBAT DOC
个人分类: 计算机
上一篇垂直中心编译框的创建
下一篇给 OnPaint 加个 HDC 参数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭