CScrollView 的窗口范畴

CScrollView 的窗口范围
如题,我想做个文件二进制显示器,每行显示16字节,因此总共有:文件大小/16 行。再用 字体的高度 * 行数 做为SetScrollSizes参数的sizeTotal.映射方法用MM_TEXT.但有的文件特大,求出的行数超出了int的表示范围。此时sizeTotal.cy = 行数 * 字符的高度  将变为负数。因此再SetScrollSizes便会出错。

这时候该如何处理呢?
我想到不用CScrollView,直接从CView派生,自已处理相关滚动任务。但在处理OnVScroll时看到SCROLLINFO 这个参数的
typedef struct tagSCROLLINFO { 
    UINT cbSize; 
    UINT fMask; 
    int  nMin; 
    int  nMax; 
    UINT nPage; 
    int  nPos; 
    int  nTrackPos; 
}   SCROLLINFO, *LPSCROLLINFO; 
都是int,那传个很大的数值还是会出错。
请教该如何处理!?
------解决方案--------------------
滚动的时候可以以行为单位, 不太清楚ScrollView好不好做
如果滚动条和显示都自己控制的话, 可以做到超过32G的。

PS: 我做的工具是用View的, ScrollView不熟。