我遇到了一个问题。我似乎无法使用DrawText绘制超过4000个字符的文本字符串。
case WM_PAINT:
hps = BeginPaint( hwnd, &ps );
if (pFieldVal)
{
int len = strlen(pFieldVal); /* Variable 'len' only temporary */
/*if (len > MAX_WIN32_DRAWTEXT) Code added to protect against */
/* len = MAX_WIN32_DRAWTEXT; disappearing characters! */
DrawText( hps,
pFieldVal,
len,
(RECT FAR *)&FRect,
DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_NOPREFIX);
}
如果我使用相同的代码绘制一个较短的字符串,那很好。
限制点似乎约为4094个字符。长度为4094的字符串显示正常,而长度为4095的字符串显示为不可见。
有没有人有什么建议可能导致这个短期限制?