用鼠标轮毂调整文本时,TextMetric的高度错误



我正在计算丰富的编辑控件中的行数。

目前我正在使用下一个代码

TEXTMETRIC tm; {
    HDC hdc = GetDC(hwndRichEdit);
    GetTextMetrics(hdc, &tm);
    ReleaseDC(hwndRichEdit, hdc);
}
RECT editRect;
GetClientRect(hwndRichEdit, &editRect);
long int countLines = (editRect.bottom - editRect.top) / (tm.tmHeight + tm.tmExternalLeading);

代码会产生正确数量的行数,直到我开始通过鼠标车轮 CTR更改文本的大小。

即使用鼠标轮调整了文本大小,也可以获取正确的文本高度吗?

n.b。我正在重新计算EN_UPDATE通知的行数。

您可以将EM_Getzoom消息发送到控件以检索当前变焦比率。将countLines值除以缩放比率应得出正确的线计数。使用Muldiv API调用来实现该部门。

相关内容

  • 没有找到相关文章

最新更新