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