Winapi 使用鼠标滚轮调整文本大小时,TEXTMETRIC给出了错误的高度

Winapi 使用鼠标滚轮调整文本大小时,TEXTMETRIC给出了错误的高度,winapi,richedit,Winapi,Richedit,我正在计算丰富编辑控件中的行数 目前我正在使用下一个代码 TEXTMETRIC tm; { HDC hdc = GetDC(hwndRichEdit); GetTextMetrics(hdc, &tm); ReleaseDC(hwndRichEdit, hdc); } RECT editRect; GetClientRect(hwndRichEdit, &editRect); long int countLines = (editRect.bottom

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

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

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更改文本大小之前,代码会产生正确的行数

即使使用鼠标滚轮调整文本大小,是否也可以获得正确的文本高度

注意:我正在使用
EN\u UPDATE
通知重新计算行数。

您可以向控件发送消息以检索当前的缩放比率。将
countLines
值除以缩放比率应得到正确的行数。使用API调用实现该划分