我在MainFrame的菜单手工添加一个调用,并消息映射调用一个对话框,正常。
我自己在MainFrame创建了个CTreeCtrl,然后HitTest,然后右键产生一个菜单,菜单也是消息映射(也在CMainFrame中)调用同一个对话框,但该对话框是focus的,但无法点击对话框中任何控件,包括OK,CANCEL按钮;但我只要Tab+CTRl切换一下,该对话框就一切正常了;或我点一下TreeCtrl也可正常;或我在调用对话框之前AfxMessageBox()也可正常;从没遇到过,很奇怪。
另外肯定不是对话框的问题,因为我试着换对话框了,一样不知何故呀?
我自己在MainFrame创建了个CTreeCtrl,然后HitTest,然后右键产生一个菜单,菜单也是消息映射(也在CMainFrame中)调用同一个对话框,但该对话框是focus的,但无法点击对话框中任何控件,包括OK,CANCEL按钮;但我只要Tab+CTRl切换一下,该对话框就一切正常了;或我点一下TreeCtrl也可正常;或我在调用对话框之前AfxMessageBox()也可正常;从没遇到过,很奇怪。
另外肯定不是对话框的问题,因为我试着换对话框了,一样不知何故呀?
解决方案 »
- CDockablePane问题
- sock编程,发送一个文件后,接受完毕,要等S端和C端都关闭后才能读取文件
- 如何获得文件大小
- 赶上微软-listview显示图片速度
- 将主界面设置成总在最上面后,如果能够取消这一特性
- 请问怎么实现像VC.NET下的源文件切换标签???
- 大3学生为了课程设计将要跳楼,救命的快来。。。
- sos ,我想动态创建一个Button,并且在单击它时完成一定的操作请问该如何做?
- 初学VC,我机器已经装了DirectX8.1,哪儿/怎样获取D3D8.h文件?
- 谁能讲讲这2个函数咋用的?
- 怎么用BCP将文本文件中的数据导入数据库?
- 请问如何在RichEdit中插入icon图标,已经得到图标句柄,大侠帮帮忙啊
SetFocus,SetActiveWindow我都试过了,没用呀!
个人感觉觉得是因为从树状控件弹右键菜单,再映射消息造成的特殊性...
Sleep()没有用;
是模式对话框
this->ShowWindow(SW_MINIMIZE);
this->ShowWindow(SW_MAXIMIZE);但程序会闪动一下....程序代码:
void CClassTreeWnd::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
UINT Flags;
HTREEITEM hTreeItem = HitTest(point,&Flags);
if(hTreeItem == NULL)
return; DWORD dwData = GetItemData(hTreeItem);
if(dwData%1000 == 0)
{
BCMenu* pPopup = (BCMenu *)menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pPopup->SetBackColor(RGB(92,174,196));
pPopup->SetSeparateColor(RGB(253,104,83));
CWnd* pWndPopupOwner = this;
while (pWndPopupOwner->GetStyle() & WS_CHILD)
pWndPopupOwner = pWndPopupOwner->GetParent();
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, ptRMenuPoint.x, ptRMenuPoint.y,
pWndPopupOwner);
pPopup->DestroyMenu();
}
CTreeCtrl::OnRButtonDown(nFlags, point);
}
ON_COMMAND(ID_TRANS_PROPERTYSET, OnTransPropertyset)
void CMainFrame::OnTransPropertyset()
{
this->ShowWindow(SW_MINIMIZE);//我新加的
this->ShowWindow(SW_MAXIMIZE);//我新加的
CParaTransSetDlg dlg();
dlg.DoModal();
}