SDI 程序,基类为CView,在CView 的OnCreate()中建立了滚动条,窗口大小改变时滚动条就没了。我在OnSize函数中也调整了,怎么解决这个问题。
我的代码:
int CDNAView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
CRect crect;
GetClientRect(&crect); VERIFY(m_scrollBar.Create(
SBS_VERT | SBS_RIGHTALIGN | WS_CHILD , CRect(0,0,756,429),this,10)); m_scrollBar.ShowScrollBar(); return 0;
}
void CDNAView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
int lt,tp,rt,btm;
CRect rect;
GetClientRect(&rect); lt = rect.left;
tp = rect.top;
rt = rect.right;
btm = rect.bottom;
m_scrollBar.MoveWindow(rt,tp,5,btm);//这句注释掉,滚动条在窗口刚创建时能显示,加上后滚动条就没有了
}
如何解决这个问题?
我的代码:
int CDNAView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
CRect crect;
GetClientRect(&crect); VERIFY(m_scrollBar.Create(
SBS_VERT | SBS_RIGHTALIGN | WS_CHILD , CRect(0,0,756,429),this,10)); m_scrollBar.ShowScrollBar(); return 0;
}
void CDNAView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
int lt,tp,rt,btm;
CRect rect;
GetClientRect(&rect); lt = rect.left;
tp = rect.top;
rt = rect.right;
btm = rect.bottom;
m_scrollBar.MoveWindow(rt,tp,5,btm);//这句注释掉,滚动条在窗口刚创建时能显示,加上后滚动条就没有了
}
如何解决这个问题?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货