C++ “将坐标转换为重新定位”对话框?

C++ “将坐标转换为重新定位”对话框?,c++,windows,winforms,dialog,gdi,C++,Windows,Winforms,Dialog,Gdi,我正在挂起CreateDialogIndirectParam。我想对对话框进行一些操作,但是宽度、高度以及x和y位置都是以对话框为单位的。有人能解释一下如何将它们转换成屏幕坐标吗 提前感谢。试试这个功能。我想它和你想的一样 请记住,映射取决于对话框使用的字体,因此HWND必须是该特定对话框 也来自: 函数返回的值为baseunitX值tmAveCharWidth和baseUnitY值tmHeight。您只需要一个选中对话框字体的HDC。在实际调用CreateDialogIndirectParam

我正在挂起
CreateDialogIndirectParam
。我想对对话框进行一些操作,但是宽度、高度以及x和y位置都是以对话框为单位的。有人能解释一下如何将它们转换成屏幕坐标吗

提前感谢。

试试这个功能。我想它和你想的一样

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

也来自:


函数返回的值为
baseunitX
tmAveCharWidth
baseUnitY
tmHeight
。您只需要一个选中对话框字体的
HDC

在实际调用CreateDialogIndirectParam之前,我不能进行转换吗?@cooster:您可以看到我更新的答案。需要进行一些额外的计算,您需要自己获取/创建字体。
pixelX = MulDiv(templateunitX, baseunitX, 4);
pixelY = MulDiv(templateunitY, baseunitY, 8);