CAcUiDockControlBar CAD2010无法缩放到最小

在CAD2010中CAcUiDockControlBar无法缩放到最小宽度了,测试了最小宽度为150
临时解决方案,效果并不是非常好,至少比没有好吧。

//主要是根据对齐方式,重新计算宽度,但是还是没有办法控制虚线预览分割符
//暂时没有特别好的办法
CSize CMenuDockPane::CalcFixedLayout(BOOL bStretch,BOOL bHorz)
{
CSize baseSize = CAcUiDockControlBar::CalcFixedLayout(bStretch,bHorz);
tdfMenuInfo *pMenuInfo = (tdfMenuInfo *)m_pScreenMenu->GetRootMenuItem()->GetData();
if (kTopDock == pMenuInfo->dockState)
{
CSize sizeRet;
sizeRet.cx = topDockRect.Width();
sizeRet.cy = topDockRect.Height();
return sizeRet;
}
#if _MSC_VER>=1500
//临时解决方案
//解决左边停靠和右边停靠时有最小宽度限制
//遗留问题,拖动大小时,分隔符始终停留在宽度=150处
CRect rc;
GetWindowRect(&rc);//获取屏幕坐标
if (kLeftDock == pMenuInfo->dockState)
{
POINT pt;
GetCursorPos(&pt);
if(pt.x>rc.left)
{
int nWidth=pt.x-rc.left;
if(nWidth<150) { baseSize.cx=max(nWidth,75); } } } if (kRightDock == pMenuInfo->dockState)
{
POINT pt;
GetCursorPos(&pt);
if(pt.x

此条目发表在ObjectArx分类目录。将固定链接加入收藏夹。

发表评论