对话框嵌套时的焦点顺序问题(水至清则无鱼,人至*则无敌)
我在对话框中的一个静态框中用如下方式嵌套了一个公用的对话框
CDlgUser::OnInitDialog()
{
CDlgPub* pPubDlg = new CDlgPub(this);
pPubDlg ->Create(this);
CStatic *pStatic = (CStatic *)GetDlgItem(IDC_RECT);
if(pStatic != NULL && pPubDlg != NULL)
{
CRect rc1,rc2;
GetWindowRect(rc2);
pStatic->GetWindowRect(&rc1);
rc1 -= rc2.TopLeft();
pUserDlg->MoveWindow(rc1);
}
}
我在两个对话框中都用VC的tab order设置了tab顺序,但当新对话生成时,用table只能在非公用对话框中的控件中循环,当用鼠标点在公用对话框上,再用table切换时,又只能在公用对话框部分切换,
请教如何让这个整体对话框的所有小控件用tale可以切换,切换顺序为先公用对话框的顺序再非公用对话框的部分。
谢谢各位!
yang79tao()指点说:
父窗口设置为control parent,子窗口设置为control。
我试过了
结果是:按常理将父设为control parent,将子窗口设为control,按table时先走的是父窗口再走子窗口,这正好与我相要的相反,我就把子窗口设为control parent,把父设为control,获得焦点的顺序是达到了我想要的,但整个对话框的边框和标题栏又不见了?
还请各位大侠指点?