重载了一个CSCROLLBAR类,在ONPAINT中调用GetScrollBarInfo不成功。SCROLLBARINFO sbinfo;
ZeroMemory(&sbinfo,sizeof(SCROLLBARINFO));
sbinfo.cbSize=sizeof(SCROLLBARINFO);
if (!GetScrollBarInfo(&sbinfo))
{
CString sss;
sss.Format(_T("%d"),GetLastError());
MessageBox(sss);
}GetScrollBarInfo返回0
ZeroMemory(&sbinfo,sizeof(SCROLLBARINFO));
sbinfo.cbSize=sizeof(SCROLLBARINFO);
if (!GetScrollBarInfo(&sbinfo))
{
CString sss;
sss.Format(_T("%d"),GetLastError());
MessageBox(sss);
}GetScrollBarInfo返回0
解决方案 »
- 判断d = (y2-y1)(x4-x3)-(y4-y3)(x2-x1)//这是什么数学公式?
- 请求高手解决PreTranslateMessage响应回车产生对话框的难题
- MFC 全局热键 多个实例 使用
- 请问,如何用程序代码判断NTFS磁盘是否压缩?
- 如何发消息让按钮被点击一次?
- 一个基础问题,但是搞不懂,请大伙帮帮忙。
- 寻找可以把简体字变成繁体字的软件
- 关于Win2000中 进程 安全性的问题!!!急!急!急!谢谢!!谢谢!!(我的分全送了,就为了得到这个问题的答案)
- 请教高手~
- 对于从来没接触过VC++甚至更没接触过MFC的想学MFC基本对话框
- ATL CString与MFC CString的问题
- MFC的CTabCtrl类中关于TCN_SELCHANGE无响应问题
请问你是如何重绘SCROLLBAR的?
SCROLLBARINFO sbinfo;
ZeroMemory(&sbinfo,sizeof(SCROLLBARINFO));
sbinfo.cbSize=sizeof(SCROLLBARINFO);
sbinfo.fMask=SIF_ALL;sbinfo.cbSize=sizeof(SCROLLBARINFO);
DWORD cbSize;
RECT rcScrollBar;
int dxyLineButton;
int xyThumbTop;
int xyThumbBottom;
int reserved;
DWORD rgstate[CCHILDREN_SCROLLBAR+1];
} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
UINT cbSize;
UINT fMask;
int nMin;
int nMax;
UINT nPage;
int nPos;
int nTrackPos;
} SCROLLINFO;
typedef SCROLLINFO FAR *LPSCROLLINFO;
你定义的吗?改成:
SCROLLINFO sbinfo;
ZeroMemory(&sbinfo,sizeof(SCROLLINFO));
sbinfo.cbSize=sizeof(SCROLLINFO);
sbinfo.fMask=SIF_ALL;
GetScrollInfo(&sbinfo);//=GetScrollInfo(&sbinfo,SIF_ALL);
在 :
void CMyScrollBar::OnPaint()
{
SCROLLINFO sbinfo;
ZeroMemory(&sbinfo,sizeof(SCROLLINFO));
sbinfo.cbSize=sizeof(SCROLLINFO);
// sbinfo.fMask=SIF_ALL;
// GetScrollInfo(&sbinfo,SIF_ALL);
GetScrollInfo(&sbinfo);
可以得到info