繁体   English   中英

MFC Dlg盒上的控制装置

[英]Control arrangement on MFC Dlg box

如何在MFC对话框上的控件之间排列空格?

在此处输入图片说明

静态框(RX数据)与较大的Edit框之间的空间可能不等于“ RX Data的大小”与上述Edit框之间的空间。

您可以使用两种方法来实现,可能还有更多。

手动更改RC文件

  1. 打开解决方案资源管理器
  2. 寻找您的“ * .rc”文件
  3. 右键单击它,然后选择“查看代码”
  4. 使用对话框ID搜索对话框资源,它应该看起来像这样
      IDD_DIALOG2 DIALOGEX 0、0、316、182\n 样式DS_SETFONT |  DS_MODALFRAME |  DS_FIXEDSYS |  WS_POPUP |  WS_CAPTION |  WS_SYSMENU\n CAPTION“对话框”\n 字体8,“ MS Shell Dlg”,400,0,0x1\n 开始\n     DEFPUSHBUTTON“ OK”,IDOK,205,161,50,14\n     PUSHBUTTON“取消”,IDCANCEL,259,161,50,14\n     LTEXT“ RX数据”,IDC_STATIC,23,26,27,8\n     EDITTEXT IDC_EDIT1,23,38,148,65,ES_MULTILINE |  ES_AUTOHSCROLL\n     LTEXT“接收数据的大小”,IDC_STATIC,23,119,50,8\n     EDITTEXT IDC_EDIT2,23,131,40,14,ES_AUTOHSCROLL\n 结束 
  5. 在那里,您可以看到已创建的所有控件,并且可以注意到由逗号分隔的4个数字的序列,即:23,26,27,8
  6. 23、26、27、8是控件对话框中的坐标
    1. 23是对话框左侧的距离
    2. 距对话框顶部的距离为26
    3. 宽度是27
    4. 9是高度
  7. 所以只要调整坐标就可以了
  8. 完成

使用对话框编辑器(我不喜欢这个)

  1. 选择所有四个控件
  2. 右键点击
  3. 选择左对齐
  4. 只选择底部的两个
  5. 将它们移到前两个的右边
  6. 仅选择标签,右键单击,对齐顶部
  7. 仅选择编辑控件,右键单击,对齐顶部
  8. 选择右侧的两个控件,然后将它们移回底部
  9. 完成

您不能使用UI工具或手动方式在rc文件中进行精确的控件对齐。 原因是:资源文件以对话框为单位表示所有点,这些点将在运行时根据DPI设置转换为像素,但会舍入错误。

您可以在运行时在OnInitDialog()中以单像素精度调整控件的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM