隐藏滚动条
方法一:
第一步:将滚动条变成。FlatSB,InitializeFlatSB(HWND hWnd);
第二步:隐藏不需要的。FlatSB_ShowScrollBar(HWND hwnd,
int code,
BOOL fShow
);
即:在OnCreate中添加
InitializeFlatSB(m_pDrawView->m_hWnd);
//FlatSB_EnableScrollBar(m_pDrawView->m_hWnd, SB_BOTH, ESB_DISABLE_BOTH);
FlatSB_ShowScrollBar(m_pDrawView->m_hWnd, SB_BOTH, FALSE);
方法二:
映射 WM_NCCALCSIZE 消息
void EPDrawView::OnNcCalcSize(BOOL bCalcValidRects, NCCALCSIZE_PARAMS FAR* lpncsp)
{
// TODO: Add your message handler code here and/or call default
CSize sizeClient;
CSize sizeSb;
GetTrueClientSize(sizeClient, sizeSb);
BOOL hasHorzBar(FALSE);
BOOL hasVertBar(FALSE);
//CheckScrollBars(hasHorzBar,hasVertBar);
{
SCROLLINFO scrollInfo;
GetScrollInfo(SB_HORZ, &scrollInfo);
hasHorzBar = (/*scrollInfo.nPage > 0 && */scrollInfo.nMax > 0);
GetScrollInfo(SB_VERT, &scrollInfo);
hasVertBar = (/*scrollInfo.nPage > 0 && */scrollInfo.nMax > 0);
}
if(hasHorzBar)
lpncsp->rgrc[0].bottom += GetSystemMetrics(SM_CYHSCROLL);
else
lpncsp->rgrc[0].bottom += GetSystemMetrics(SM_CYHSCROLL) - sizeSb.cy;
if(hasVertBar)
lpncsp->rgrc[0].right += GetSystemMetrics(SM_CXVSCROLL);
else
lpncsp->rgrc[0].right += GetSystemMetrics(SM_CXVSCROLL) - sizeSb.cx;
CFODrawView::OnNcCalcSize(bCalcValidRects, lpncsp);
}