Win32 богат контрол за редактиране има съобщение, наречено EM_FORMATRANGE
, който може да рендира съдържанието на контролата в произволен контекст на устройство. Това често се използва за печат или визуализация на печат, но може да се използва с всеки контекст на устройство. Това съобщение приема структура, наречена FORMATRANGE
, което се дефинира по следния начин:
typedef struct _formatrange {
HDC hdc;
HDC hdcTarget;
RECT rc;
RECT rcPage;
CHARRANGE chrg;
} FORMATRANGE;
Единствената документация за rc
и rcPage
е следната:
rc
: Областта за изобразяване. Единиците се измерват в туипове.
rcPage
: Цялата област на страница на устройството за изобразяване. Единиците се измерват в туипове.Стойностите за
rc
иrcPage
могат да бъдат получени с помощта наGetDeviceCaps
.
Не ми е напълно ясно каква е разликата между rcPage и rc. Примерите за код, които съм виждал онлайн, изглежда задават и двете на един и същи правоъгълник. Собствен пример на Microsoft Как да отпечатате Съдържанието на контролите за обогатено редактиране напълно не успява да инициализира rcPage
и всъщност предава недефинирани данни към контролата за обогатено редактиране.
Използва ли се rcPage
дори от контролата за богато редактиране? Не виждам защо втори правоъгълник може да е полезен за повлияване на поведението на тази команда, така че за какво е там? Може ли някой да даде пример, илюстриращ разликата между rc
и rcPage
?