关于CFormView的滚动条问题
icper 2005-04-15 05:38:02 以下是我根据formview的大小决定是否显示滚动条
问题在于:
当view的大小正好处于显示与不显示滚动条的临界状态时将会长时间导致界面不断显示与不显示滚动条状态
2000下问题不大,自己反复显示几次就好了,
98就会把系统资源耗尽然后fatal
请问有什么好方法避免这种情况出现?
void CShowImageView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if (GetSafeHwnd())
{
SetScrollSizes(MM_TEXT,CSize(cx<768?768+5:cx+5,cy<576?576+5:cy+5),
CSize(300,300),CSize(100,100));
if(cx < 768)
CFormView::ShowScrollBar(SB_HORZ,TRUE);//显示水平滚动条
else
CFormView::ShowScrollBar(SB_HORZ,FALSE);//隐藏水平滚动条
if(cy < 576)
CFormView::ShowScrollBar(SB_VERT,TRUE);//显示竖直滚动条
else
CFormView::ShowScrollBar(SB_VERT,FALSE);//隐藏竖直滚动条
POINT pt;
pt.x = pt.y = 0;
ScrollToPosition(pt);
}
}