屏幕(像素)单元的全屏窗口大小使用VS6 C ++ GUI编辑器,MFC?

时间:2009-07-06 21:13:10

标签: visual-studio mfc dialog resize fullscreen

我正在尝试创建一个带有许多控件的全屏控制面板窗口:按钮,滑块,列表框等。

我可以创建一个对话框窗口并为其添加控件,但所有内容都以对话框为单位进行缩放。我只想在GUI编辑器中创建一个以像素为单位缩放的窗口,而不是像对话框单元这样的派生单元。

我可以在GUI编辑器中布置所有控件,然后使用SetWindowPos以编程方式将窗口调整为全屏,但GUI编辑器中的对话窗口与最终产品看起来不一样。我希望它在GUI编辑器中是WYSIWIG。

这是运行XP的小型专用仪器控制计算机的前端。 SDK是用MFC编写的。我必须经常添加和更改控件。屏幕很小,7“@ 800 x 600,所以当然我在不同的计算机上开发程序。我不希望程序窗口在我更换显示器时改变 - 我希望它固定为800 x 600,我希望控件的大小和布局也能得到修复。

必须有办法 - 这比默认功能更基本。

感谢。

2 个答案:

答案 0 :(得分:1)

对话框单元基于对话框使用的字体属性。水平对话框单位等于当前字体平均宽度的1/4。

垂直对话框单位等于当前字体平均字符高度的1/8。

我建议使用method 2(MapDialogRect()用于4 x 8对话框)来确定800x600在输出显示上对应的DLU数量,然后使参考形式等于该大小。您可以在设计时使用该参考表格。

.-我很高兴Visual Studio不再强调对话单元,因为它们总是很难处理。

答案 1 :(得分:0)

感谢。我能够通过在GUI编辑器中手动调整表格一次又一次地制作参考表格,直到它完全填满屏幕......不开玩笑说对话单元很痛苦。从您的回复中,我猜在当前的Visual Studio中有更好的方法来做到这一点? (这是我第一次使用Windows编程)。