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调用实现该划分