关于滚动条结构体的问题
《windows程序设计》第四章文本输出例子中用GetScrollInfo函数和SetScrollInfo函数操作滚动条
有个疑问,就是每次操作滚动条结构SCROLLINFO都要写入cbSize成员
case WM_SIZE:
cxClient=LOWORD(lParam);
cyClient=HIWORD(lParam);
si.cbSize=sizeof(si); //这里写入一次
si.fMask=SIF_RANGE|SIF_PAGE;
si.nMin=0;
si.nMax=NUMLINES-1;
si.nPage=cyClient/cyChar;
SetScrollInfo(hwnd,SB_VERT,&si,TRUE);
si.cbSize=sizeof(si); //这里又写入一次,为什么要这么勤快的写入CbSize呢,难道SetScrollInfo可能会改写cbSize?
si.fMask=SIF_RANGE|SIF_PAGE;
si.nMin=0;
si.nMax=2+iMaxWidth/cxChar;
si.nPage=cxClient/cxChar;
SetScrollInfo(hwnd,SB_HORZ,&si,TRUE);
return 0;
SetScrollInfo(hwnd,SB_VERT,&si,TRUE);
//你这里传过去的是地址,可能会修改里面的有效值的!
//可能是需要原来的值,所以重新赋值一次!