问一些变量的问题
不知道大家在学windows编程时有没有发现变量用的很奇怪?// Set vertical scroll bar range and page size
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) ;
// Set horizontal scroll bar range and page size
si.cbSize = sizeof (si) ;
si.fMask = SIF_RANGE | SIF_PAGE ;
si.nMin = 0 ;
si.nMax = 2 + iMaxWidth / cxChar ;
si.nPage = cxClient / cxChar ;
大家仔细看,si变量被两次赋值了,按照C的理解,前一次赋值是被覆盖了吧,但是后面的程序又可以获得设置vertical scroll的参数,大家可以翻一翻程序,有很多地方,一个变量被先后覆盖值,但用得没有冲突?希望有大牛解释一下。。。
//一堆设置结构体si的代码
//...
SetScrollInfo (hwnd, SB_VERT, &si, TRUE) ;//以上设置代码全部都是为了这个函数的调用
//调用完si就没用了
//又是一堆设置结构体si的代码
//...
SetScrollInfo (hwnd, SB_VERT, &si, TRUE) ;//以上设置代码全部都是为了这个函数的调用
//调用完si就没用了
的确只需写一次就可以了,不过si.nMax 和 si.nPage 要更改,因为两次调用用的这两个值不同 把问题求助顶起来{:7_146:}
页:
[1]