在MFC 中,如何在设计时更改控件的Z顺序?也就是说,我不能在运行时使用SetWindowPos或在运行时这样做,我希望看到设计器中更改的z顺序(即使我不得不直接编辑.rc代码)。
我有一个MFC对话框,我要向其中添加控件。如果控件的边缘有重叠,我想把其中一个放在另一个的前面。在Windows窗体或WPF等,我可以带来,发送回,带来,送回来。我在MFC中找不到这些选项,也不知道它是如何决定前面是什么的,因为刚才添加的控件通常在前面的控件后面。如何在MFC中操作Z级?即使我必须直接操作.rc文件代码(即在设计器周围运行结束)。
发布于 2008-10-01 23:08:04
我认为前面的控件将是rc文件中的最后一个控件。换句话说,对话框编辑器将在rc文件中从上到下绘制每个控件,必要时将它们重叠。
您可以编辑rc文件以重新排序,也可以在编辑器中更改制表符顺序,因为选项卡顺序也是根据文件中控件发生的顺序设置的。据我所知,MFC不提供在设计时分层重叠控件的任何其他方式。
发布于 2009-04-22 05:39:20
VisualStudio6.0中的执行以下操作.
打开对话框屏幕(在designer视图中)
按Ctrl +D
将显示每个控件的制表符顺序。
按您希望在运行时看到的选项卡顺序开始单击控件(即,您首先单击的控件将选项卡顺序设置为1,等等)。
发布于 2008-10-01 22:49:02
GetDlgItem(IDC_MYCONTROL)->SetWindowPos(HWND_TOP,
0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE);
https://stackoverflow.com/questions/160105
复制相似问题