私はフックしてCreateDialogIndirectParam
います。ダイアログ ボックスを操作したいのですが、幅、高さ、x と y の位置がダイアログ ボックスの単位になっています。誰かがそれらをスクリーン座標に変換する方法を説明できますか?
前もって感謝します。
MapDialogRect()関数を試してください。私はそれがあなたが思うことをすると思います。
マッピングはダイアログで使用されるフォントに依存することに注意してください。したがって、HWND
はその特定のダイアログである必要があります。
またGetDialogBaseUnits()から:
pixelX = MulDiv(templateunitX, baseunitX, 4);
pixelY = MulDiv(templateunitY, baseunitY, 8);
関数 GetTextMetrics() によって返される値とbaseunitX
値tmAveCharWidth
でbaseUnitY
あること。ダイアログフォントが選択されたが必要です。tmHeight
HDC