2011-03-05 74 views
3

我使用CreateWindowEx创建编辑控件(文本框),但是说CW_DEFAULT无助于获取文本框的默认高度 - 它只是创建一个高度为零。Win32编辑控件的默认高度

如何获取文本框的系统默认大小,以便我可以将Edit控件转换为正常的文本框?

+0

这是记录的行为:“如果'的弹出窗口或子窗口中指定CW_USEDEFAULT',在* nWidth *和* nHeight参数*参数设置为零。”(http://msdn.microsoft .COM/EN-US /库/ ms632680.aspx)。所以'CW_USEDEFAULT'肯定是错误的方法。 – 2011-03-05 04:58:19

回答

8

推荐的大小是14个对话单位。 Here is the reference

您可以使用MapDialogRect将对话框单位转换为像素。

+0

有没有什么办法让这个以编程方式?或者我需要将它硬编码到我的程序中? – Mehrdad 2011-03-05 05:40:17

+1

你的意思是14个对话框单位,或者像素数。对话单元以文本行的高度来定义,使得数量应该是硬编码的。正如我所说的,你再使用'MapDialogRect'转换为像素,考虑到字体大小的用户设置和监控DPI。 – 2011-03-05 05:45:17

+0

我的意思是14个对话单元;谢谢(你的)信息! :) – Mehrdad 2011-03-05 08:13:38