0

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

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

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

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

必须有一种方法——这比默认功能更基本。

谢谢。

4

2 回答 2

1

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

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

我建议使用方法 2(用于 4 x 8 对话框的 MapDialogRect())来确定输出显示器上有多少个 800x600 对应的 DLU,然后制作一个等于该大小的参考表格。您可以稍后在设计时使用该参考表单。

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

于 2009-07-06T21:32:17.807 回答
0

谢谢。我可以通过在 GUI 编辑器中一遍又一遍地手动调整表单的大小,直到它完全填满屏幕来制作参考表单……不要开玩笑,对话框单元很痛苦。根据您的回复,我猜在当前的 Visual Studio 中有更好的方法来做到这一点?(这是我第一次接触 Windows 编程)。

于 2009-07-07T00:28:57.303 回答