vc界面编程--关于控件层次的获取和设置有关问题

vc界面编程--关于控件层次的获取和设置问题
我在一个主dialog里创建了几个控件,请问我有什么方法可以获得某个控件的层次序号,vc里叫做“Tab键顺序”,即Z-order呢? 那又如何设置一个控件的Z-order呢?就像在资源管理器那里一样,设置Z-order的时候,如果是第一次点击一个控件,那么其他的控件自动z序增1.

------解决方案--------------------
关注中~
------解决方案--------------------
http://forums.microsoft.com/china/ShowPost.aspx?PostID=3217933&SiteID=15
------解决方案--------------------
FindWindowEx就是按照Z-order查找控件,SetWindowPos可以改变Z-order。
------解决方案--------------------
这里介绍的是如果使用对话框类自带的两个成员函数来实现这种操作,它们是:
CWnd::GetNextDlgTabItem得到“下一个”TAB项控件
CWnd::GetNextDlgGroupItem得到一组控件中的“下一个”

注意:
1. 这里的“下一个”都是相对的,你可以通过它们的参数让它变成“上一个”;
2. 在使用前者是要注意要操作控件的“TabStop”属性必须打上钩或者它要有WS_TABSTOP风格;
3. 使用后一个函数要使要操作的控件在一组,方法是在第一个控件的Group属性上打钩,后面的不打钩;
4. 当一批控件被Enable(false)(即Disable禁用后)下次就使用上述两个函数就不算在内了,所以要再次使用即恢复它们的话必须另外记下它们的指针;
5. 关于上面的两个函数的详细说明请参MSDN。

下面是一个应用它们的调用例子:

CWnd * pWndCtrl = GetDlgItem(IDC_STATIC1);

for(i=0;i < 11 && pWndCtrl != NULL;i++)

{

pWndCtrl->EnableWindow(FALSE);

pWndCtrl = GetNextDlgTabItem(pWndCtrl);

}

上面的代码将同时禁用11个控件,将GetNextDlgTabItem换成GetNextDlgGroupItem的话就是对一组控件进行操作啦。

当然,因为这两个函数是CWnd类的成员,对于非对话框上的控件或者动态创建的控件同样有效。
------解决方案--------------------
目前只知可以設置.
獲取關注中.