有两种不同的拆分视图。
PinNameView (左), SignalView (右)
我把VScroll栏放在右侧视图上,当我使用V-Scroll滚动右侧视图时,我想让左侧视图滚动。
为了做到这一点并使两个视图同步滚动,我不得不在左视图上放置V-Scroll栏。
但我不想在左视图上放置V-Scroll栏。
所以,我使用 ShowScrollBar 函数来隐藏它。
但是当我隐藏它时,左侧视图不会移动,而当我放置时它会起作用。
我真的不希望滚动条显示在左侧视图中。
所以我决定让Vscroll栏滚动,然后在滚动后立即消失。
但它引起另一个问题,即眨眼。
因为我在短时间内打开和关闭滚动条,所以会导致问题。 我该如何解决这个问题?
void SignalView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
CMainFrame *pMainFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
pMainFrame->SetActivePinNameView();
PinNameView* pPinView = (PinNameView*) pMainFrame->GetActiveView();
/*
pPinView->ShowScrollBar(SB_VERT,false);
pPinView->OnVScroll(nSBCode,nPos,pScrollBar);
*/
pPinView->ShowScrollBar(SB_VERT,true);
pPinView->OnVScroll(nSBCode,nPos,pScrollBar);
pPinView->ShowScrollBar(SB_VERT,false);
pMainFrame->SetActiveSignalView();
CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
}