读书人

windows程序

发布时间: 2013-04-21 21:18:07 作者: rapoo

windows程序求助

    case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
// Get vertical scroll bar position
si.cbSize = sizeof (si) ;
si.fMask = SIF_POS ;
GetScrollInfo (hwnd, SB_VERT, &si) ;
iVertPos = si.nPos ;

// Get horizontal scroll bar position

GetScrollInfo (hwnd, SB_HORZ, &si) ;
iHorzPos = si.nPos ; //现在的位置

// Find painting limits

iPaintBeg = max (0, iVertPos + ps.rcPaint.top / cyChar) ;
iPaintEnd = min (NUMLINES - 1,iVertPos + ps.rcPaint.bottom /cyChar);

for (i = iPaintBeg ; i <= iPaintEnd ; i++)
{
x = cxChar * (1-iHorzPos) ; //1减去它是否小于0了呢??????
y = cyChar * (1-iVertPos) ;

TextOut (hdc, x, y,
sysmetrics[i].szLabel,
lstrlen (sysmetrics[i].szLabel)) ;

TextOut (hdc, x + 22 * cxCaps, y,
sysmetrics[i].szDesc,
lstrlen (sysmetrics[i].szDesc)) ;


SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;

TextOut (hdc, x + 22 * cxCaps + 40 * cxChar, y, szBuffer,


wsprintf (szBuffer, TEXT ("%5d"),
GetSystemMetrics (sysmetrics[i].iIndex))) ;

SetTextAlign (hdc, TA_LEFT | TA_TOP) ;
}

EndPaint (hwnd, &ps) ;
return 0 ;



问题:
1.x = cxChar * (1-iHorzPos) ; //1减去它是否小于0了呢?????? 求解释
[解决办法]
那个东西貌似是负数啊,所以-就变成正的啦

读书人网 >C++

热点推荐