1,我的程序中有多个工具栏,在逐一创建之后,显示出来后,经常位置错乱,不知有什么好方法能控制各个工具栏的初始位置。(有记忆特性是更好)
2,我的一个自继承悬浮工具栏,移动到主窗体之外的时候,如果动作稍快,就很容易的移动到桌面之外,无法“拖”回来,请教各位大虾如何解决?(不重新运行程序)
2,我的一个自继承悬浮工具栏,移动到主窗体之外的时候,如果动作稍快,就很容易的移动到桌面之外,无法“拖”回来,请教各位大虾如何解决?(不重新运行程序)
解决方案 »
- 关于mfc开发实践方面的书有吗 比较好的
- 在大学当老师要选毕业设计题目了,大家能把自己觉得对自己工作用得到的题目推荐一些吗?
- 请问我需要在两个进程中发送键盘按键消息,但不用获取焦点(都最小化)怎么才行呢。
- 请问使用C++做COM这样是不是要建立def文件
- 新软件发布,对您绝对有用,欢迎下载使用,up有分!谢谢!
- 我在Dialog Window已经布局好,有办法在IDE环境修改TabStop的次序吗?
- [VC初学]介绍一下学习VC的最有效的方法,过程和必要书籍!
- 在静态库LIB中使用CString类报错
- 串口编程中,刚刚writefile()后查看COMSTA结构中的cbInQue参数竟然为0??
- 简单问题,我不会。
- 怎样得到MPEG的数据,并把它显示出来?
- 紧急求助:!!!!!!!!!!!!!!!!!!!!!!!!!!
2。try CFrameWnd::LoadBarState() and CFrameWnd::SaveBarState()
CFrameWnd* FloatControlBar( CControlBar * pBar, CPoint point, DWORD dwStyle = CBRS_ALIGN_TOP );void DockControlBar( CControlBar * pBar, UINT nDockBarID = 0, LPCRECT lpRect = NULL );
DockControlBar(&m_wndToolBar);
CRect wrAlredyDockedBar;
m_wndToolBar.GetWindowRect( &wrAlredyDockedBar );
wrAlredyDockedBar.OffsetRect( 1, 10);
DockControlBar(&m_wndDBToolBar,m_wndToolBar.m_pDockBar,&wrAlredyDockedBar);
记忆位置:LoadBarState(),SaveBarState()
2.
RecalcLayout()
{
CRect rect;
DWORD dw;
UINT n;
//使用MFC来调整所有工具栏的尺寸,确保GetWindowRect准确
RecalcLayout(TRUE);
LeftOf->GetWindowRect(&rect);
rect.OffsetRect(1,0);
dw=LeftOf->GetBarStyle();
n = 0; n = (dw&CBRS_ALIGN_TOP) ? AFX_IDW_DOCKBAR_TOP : n;
n = (dw&CBRS_ALIGN_BOTTOM) ? AFX_IDW_DOCKBAR_BOTTOM : n;
n = (dw&CBRS_ALIGN_RIGHT) ? AFX_IDW_DOCKBAR_RIGHT : n;
n = (dw&CBRS_ALIGN_LEFT) ? AFX_IDW_DOCKBAR_LEFT : n; DockControlBar(Bar,n,&rect);
}