【发布时间】:2013-06-17 20:26:55
【问题描述】:
我正在尝试创建一个以像素为单位提供字符串宽度的方法。 到目前为止我的代码:
inline void getTextWidth(HWND hwnd char* text) {
SIZE textSize;
GetTextExtentPoint32(GetDC(hwnd), text, strlen(text), &textSize);
return ?;
}
我知道我应该使用LPtoDP (MSDN),但是需要点作为参数,而不是 GetTextExtentPoint32 返回的 SIZE。
如何转换?
【问题讨论】:
-
这很不清楚。你的问题标题说像素,你的身体说点。您正在尝试获取一个返回 void 以返回某些内容的函数。当您似乎意味着返回值时,您会谈论参数。懒惰,做的更好。并解释为什么您认为需要更改从头开始创建的设备上下文的映射模式。
-
别忘了修复
HDC泄漏。GetDC()返回的HDC需要在使用完毕后用ReleaseDC()释放。
标签: c++ winapi type-conversion gdi