我上钩了CreateDialogIndirectParam
。我想对对话框进行一些操作,但是宽度、高度以及 x 和 y 位置都以对话框为单位。有人可以解释如何将它们转换为屏幕坐标吗?
提前致谢。
试试MapDialogRect()函数。我认为它会如你所想。
请记住,映射取决于对话框使用的字体,因此HWND
必须是那个特定的对话框。
同样来自GetDialogBaseUnits():
pixelX = MulDiv(templateunitX, baseunitX, 4);
pixelY = MulDiv(templateunitY, baseunitY, 8);
作为函数GetTextMetrics()返回baseunitX
的值tmAveCharWidth
和baseUnitY
值。您只需要选择一个对话框字体。tmHeight
HDC