首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

对话框加自绘滚动条//怎么呀?

2013-07-04 
对话框加自绘滚动条//如何呀???!!!!!!!!!!!!!!//使用mfc滚动条方法;使用自绘的咋触发消息?void CHistory::

对话框加自绘滚动条//如何呀???
!!!!!!!!!!!!!!


//使用mfc滚动条方法;使用自绘的咋触发消息?
void CHistory::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
// TODO: Add your message handler code here and/or call default
SCROLLINFO scrollinfo;  
GetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
switch (nSBCode)  
{  
case SB_LEFT:  
ScrollWindow((scrollinfo.nPos-scrollinfo.nMin)*1,0);  
scrollinfo.nPos = scrollinfo.nMin;  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
break;  
case SB_RIGHT:  
ScrollWindow((scrollinfo.nPos-scrollinfo.nMax)*1,0);  
scrollinfo.nPos = scrollinfo.nMax;  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
break;  
case SB_LINELEFT:  
scrollinfo.nPos -= 1;  
if (scrollinfo.nPos<scrollinfo.nMin){  
scrollinfo.nPos = scrollinfo.nMin;  
break;  
}  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
ScrollWindow(1,0);  
break;  
case SB_LINERIGHT:  
scrollinfo.nPos += 1;  
if (scrollinfo.nPos>scrollinfo.nMax)  
{  
scrollinfo.nPos = scrollinfo.nMax;  
break;  
}  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
ScrollWindow(-1,0);  
break;  
case SB_PAGELEFT:  
scrollinfo.nPos -= 1;  
if (scrollinfo.nPos){  
scrollinfo.nPos = scrollinfo.nMin;  
break;  
}  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
ScrollWindow(1*5,0);  
break;  
case SB_PAGERIGHT:  
scrollinfo.nPos += 1;  
if (scrollinfo.nPos>scrollinfo.nMax)  
{  
scrollinfo.nPos = scrollinfo.nMax;  
break;  
}  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
ScrollWindow(-1*5,0);  
break;  
case SB_THUMBPOSITION:  
break;  
case SB_THUMBTRACK:  
ScrollWindow((scrollinfo.nPos-nPos)*1,0);  
scrollinfo.nPos = nPos;  
SetScrollInfo(SB_HORZ,&scrollinfo,SIF_ALL);  
break;  
case SB_ENDSCROLL:  
break;  

Invalidate();
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}


[解决办法]
进度条只能加到视图里呀??????我想加到对话框上
引用:
cscrollbar


C/C++ code
?



12345678910111213141516171819202122232425262728

int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct)  {    if (CView::OnCreate(lpCreateStruct) == -1)       retu……

[解决办法]
引用:
一般在对话框那个函数里设置呀
引用:引用:用自己写的继承cwnd的滚动条 咋设置呢
引用:滚动条消息?你去滚动才会触发啊。对话框当然可以有滚动条,CWnd::SetScrollInfo设置好就行。自己写自己设置,谁知道你怎么写的呀。

OnInitDialog初始化;任何需要的地方都可以调整。

热点排行