0

我上钩了CreateDialogIndirectParam。我想对对话框进行一些操作,但是宽度、高度以及 x 和 y 位置都以对话框为单位。有人可以解释如何将它们转换为屏幕坐标吗?

提前致谢。

4

1 回答 1

1

试试MapDialogRect()函数。我认为它会如你所想。

请记住,映射取决于对话框使用的字体,因此HWND必须是那个特定的对话框。

同样来自GetDialogBaseUnits()

pixelX = MulDiv(templateunitX, baseunitX, 4);
pixelY = MulDiv(templateunitY, baseunitY, 8);

作为函数GetTextMetrics()返回baseunitX的值tmAveCharWidthbaseUnitY值。您只需要选择一个对话框字体。tmHeightHDC

于 2012-07-07T20:07:26.547 回答