不记得从哪里下的这个类,原来用着也没出什么问题,后来系统由windows2000换成windows xp后,将程序中CSizingControlBar实现停靠的窗体由停靠状态变成浮动状态时,窗体变得很小且内容全没了,窗体内容需要改变下窗体的大小才能刷出来,可在windows2000下怎么就没这个问题呢,我水平太差,找了半天也没找出原因。有谁用过这个类且遇到过类似的问题的帮个忙啊!
解决方案 »
- vc2008 如何创建圆形按钮
- 这段很乱看不懂……帮忙注释下
- SysFreeString能否用于new创建的字符串?
- 用内存映射创建文件,可否灵活控制文件的大小
- 哪里能找到国标GB2312-80中3755个一级汉字的所有字?
- MFC的cox控件,如何使用ExchangeFontProp交换Font属性?
- 推荐几本winsock和directX编程的书好么?(VC的)
- 请教一个画图的算法,急!
- 关于数据流的问题
- 连接数据库遇到的问题
- 对话框显示数据更新和对话框大小可变的问题
- 请问:WS_EX_RIGHTSCROLLBAR和WS_VSCROLL都是滚动条,区别在那里?另,用的前一种方式怎么收滚动消息?
http://www.vckbase.com/document/viewdoc/?id=257
可以这样改一下
void CSCBMiniDockFrameWnd::OnSize(UINT nType, int cx, int cy)
{
CSizingControlBar* pBar = GetSizingControlBar();
if ((pBar != NULL) && (GetStyle() & MFS_4THICKFRAME) == 0
&& pBar->IsVisible())
{
pBar->m_szFloat = CSize(cx + 4, cy + 4);
//这样只是恢复为最小状态,你一可以指定一个固定值如,这样的话,直接用鼠标拖动也不能小于这个值
pBar->m_szFloat.cx = max(pBar->m_szFloat.cx, 200);
pBar->m_szFloat.cy = max(pBar->m_szFloat.cy, 300);
//或者初始化时直接修改m_szMinFloat,那么就可以用下面的代码
//pBar->m_szFloat.cx = max(pBar->m_szFloat.cx, pBar->m_szMinFloat.cx);
//pBar->m_szFloat.cy = max(pBar->m_szFloat.cy, pBar->m_szMinFloat.cy);
} baseCSCBMiniDockFrameWnd::OnSize(nType, cx, cy);
}