Доброго времени суток, коллеги!
inline void SCALERECT(RECT rc)
{
#ifndef _DRA_ADJUSTABLE_RESOLUTION
rc.left = SCALEX(rc.left);
rc.right = SCALEX(rc.right);
rc.top = SCALEY(rc.top);
rc.bottom = SCALEY(rc.bottom);
#else // _DRA_ADJUSTABLE_RESOLUTION
int nLogPixelsX = LogPixelsX();
int nLogPixelsY = LogPixelsY();
rc.left = SCALEX(rc.left, nLogPixelsX);
rc.right = SCALEX(rc.right, nLogPixelsX);
rc.top = SCALEY(rc.top, nLogPixelsY);
rc.bottom = SCALEY(rc.bottom, nLogPixelsY);
#endif // _DRA_ADJUSTABLE_RESOLUTION
}
Обратите внимание, что подлежащий масштабированию прямоугольник передается в функцию
по значению, поэтому эффект от ее вызова будет нулевым. Необходимое исправление очевидно:
inline void SCALERECT(RECT& rc)
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]