现在的位置: 首页 > 综合 > 正文

控件中按回车键就关闭对话框问题怎么解决?

2014年01月18日 ⁄ 综合 ⁄ 共 634字 ⁄ 字号 评论关闭

 

//在对话框头文件中定义
virtual void OnOK(); 
virtual void OnCancel();



//在.cpp文件中
//重载回车键
void CPMAgentManageDlg::OnOK() 
{ 
 //什么也不做

} 
//重载退出键
void CPMAgentManageDlg::OnCancel() 
{ 
//什么也不做

}   




//如果要是针对某一个控件的回车
//重载回车键
void CPMAgentManageDlg::OnOK() 
{ 
 CWnd *pwnd=this->GetFocus(); //先获取焦点

//判断是哪个控件
 if((pwnd->GetDlgCtrlID()==IDC_LIST_AGENTINFO)||(pwnd->GetDlgCtrlID()==IDC_LISTBOX)||(pwnd->GetDlgCtrlID()==IDC_TREE))
 {

  Message("shide!");  //如是想要的控件,按回车时就会出现这个对话框
  return;
  }

//还可以做另外的一些事,下面的事是用来改树形控件名称的一个函数,所以上面用来判断的代码不能放到下面了,不然会影响
 if(!IsTreeCtrlEditMessage(VK_RETURN)) 
 {
  EndDialog(IDOK); 
 }

} 
//重载退出键
void CPMAgentManageDlg::OnCancel() 
{ 
 if(!IsTreeCtrlEditMessage(VK_ESCAPE)) 
 {
  EndDialog(IDCANCEL); 
 }

}   

抱歉!评论已关闭.