1
A
回答
2
你可以用两种方法来实现这一点,可能会有更多。
更改RC文件中手动
- 打开解决方案资源管理
- 看你的“* .RC”文件
- 右键单击它并选择“查看代码”使用
- 搜索您的对话框资源你的对话ID应该看起来像这样
IDD_DIALOG2 DIALOGEX 0, 0, 316, 182 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Dialog" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "OK",IDOK,205,161,50,14 PUSHBUTTON "Cancel",IDCANCEL,259,161,50,14 LTEXT "RX Data",IDC_STATIC,23,26,27,8 EDITTEXT IDC_EDIT1,23,38,148,65,ES_MULTILINE | ES_AUTOHSCROLL LTEXT "size of RX Data",IDC_STATIC,23,119,50,8 EDITTEXT IDC_EDIT2,23,131,40,14,ES_AUTOHSCROLL END
- 在那里你可以看到你创建的所有控件,并且你可以注意到用逗号分隔的4个数字的序列,即:23,26,27,8
- 23,26,27,8是控制
- 23的对话框中的坐标是从对话框
- 26左边的距离从距离的对话框
- 27顶部宽度
- 9高度
- 所以只是调整坐标,如你所愿,你会得到的确切位置,你想
- 做
使用对话框编辑器(我不喜欢这个)
- 选择所有四个控件
- 右击
- 选择左对齐
- 只选择底部的两个
- 举动他们在前两个的右侧
- 只选择标签,右键单击,对齐顶部
- 只选择编辑控件,点击右键,对齐顶部
- 选择是对的两个控件,并将其移动回底部
- 做
2
你不能做一个精确的控制比对中您的rc文件,无论是使用UI工具还是手动。原因是:资源文件表示对话框单元中的所有点,在运行时将根据DPI设置将其转换为像素,但会受到舍入错误的影响。
您可以在运行时在OnInitDialog()中以单像素精度调整控件的位置。
相关问题
- 1. MFC:绘制控件
- 2. MFC PropertyGrid控件不绘制边框?
- 3. 控制CView的大小MFC
- 4. 在MFC中排列视图
- 5. 好看的MFC列表框
- 6. MFC:在GUI上修复控制台
- 7. MFC动态文本控制?
- 8. 可视化控制点mfc
- 9. 虚拟列表控件(MFC)
- 10. 列表控件Find ItemText MFC
- 11. MFC SysLink控件
- 12. MFC对话框在非MFC应用
- 13. 列表控件中的MFC对话框组合框
- 14. CEvent的MFC复制
- 15. MFC - 消除CEdit的数量控制
- 16. MFC单独的无线电控制组
- 17. 对齐MFC控件
- 18. MFC序列化
- 19. 在mfc的父对话框中绘制
- 20. MFC DoModal对话框
- 21. 禁用对话框控件MFC
- 22. MFC对齐CDialogBar上的控件
- 23. 对话框上的MFC工具栏?
- 24. MFC - 我如何添加一个旋转控制列表控件
- 25. 打印分页符RICHEDIT从MFC控制
- 26. MFC控制台模式应用程序
- 27. C++ mfc:通过控制箱更新HWND
- 28. 绘制与VC++&MFC
- 29. MFC SHELLLIST不绘制
- 30. 对话框列表控件的MFC工具提示
你必须手工完成。 AFAIK无法通过对话框编辑器自动执行此操作。您必须找到第一个编辑框的y距离“RX Data”,然后手动放置第二个编辑框,该距离等于y“低于RX数据大小”的距离。所选项目的位置显示在Vusial Studio的状态栏中。 –
添加您正在使用的视觉演播室版本的标签 – Robson
visual studio 2012 –