用回车键改变输入焦点,最后焦点到 添加按钮 上时,希望执行添加操作,不知如何实现????请各位大哥帮忙看看这段代码:
void COtherPropertyDlg::OnOK()
{
if(GetDlgItem(IDC_EDIT_POSITION)->GetFocus())
{
//选择文本框内所有的文本
SendDlgItemMessage(IDC_EDIT_POSITION,EM_SETSEL,0,-1);
}
if(GetDlgItem(IDC_EDIT_OFFSET)->GetFocus())
{
//选择文本框内所有的文本
SendDlgItemMessage(IDC_EDIT_OFFSET,EM_SETSEL,0,-1);
}
if(GetDlgItem(IDC_EDIT_CHARACTERISTIC)->GetFocus())
{
//选择文本框内所有的文本
SendDlgItemMessage(IDC_EDIT_CHARACTERISTIC,EM_SETSEL,0,-1);
}
if(GetDlgItem(IDC_BTN_ADD)->GetFocus())
{
//如果焦点在添加特性按钮上,执行添加操作
OnBtnAdd();
}
//焦点在控件之间移动
GetNextDlgTabItem(GetFocus())->SetFocus();
}
void COtherPropertyDlg::OnOK()
{
if(GetDlgItem(IDC_EDIT_POSITION)->GetFocus())
{
//选择文本框内所有的文本
SendDlgItemMessage(IDC_EDIT_POSITION,EM_SETSEL,0,-1);
}
if(GetDlgItem(IDC_EDIT_OFFSET)->GetFocus())
{
//选择文本框内所有的文本
SendDlgItemMessage(IDC_EDIT_OFFSET,EM_SETSEL,0,-1);
}
if(GetDlgItem(IDC_EDIT_CHARACTERISTIC)->GetFocus())
{
//选择文本框内所有的文本
SendDlgItemMessage(IDC_EDIT_CHARACTERISTIC,EM_SETSEL,0,-1);
}
if(GetDlgItem(IDC_BTN_ADD)->GetFocus())
{
//如果焦点在添加特性按钮上,执行添加操作
OnBtnAdd();
}
//焦点在控件之间移动
GetNextDlgTabItem(GetFocus())->SetFocus();
}
解决方案 »
- CCaptureVideo类捕捉rgb24可以怎么yuv就不行了???
- 多线程中对文件进程读操作的问题,解决马上结贴!
- 请问,在多个线程都要访问数据库,请问是在每一个线程中都打开一个数据库联接好,还是所有线程共享一个数据库联接好?
- 是驱动程序导致系统崩溃,还是硬件问题,大家帮我看看到底问题出在什么地方?
- UNICODE 程序在win98上运行。
- 请教明白人:NT4下是不是不支持使用DirectSound采集音频?只能使用MCI或WaveIn APIs? NT4下又支持什么样的视频采集方法呢?
- 在win8系统或者win7系统下,通过服务启动一个对话框程序,有什么思路或者方法啊?
- 关于数据库和打印功能有冲突的问题!!!
- 请问大虾:如何利用CSocket在局域网传文件?
- 请教VC入门选手
- 让按钮不可见但可以接受输入
- (DWORD*)&(pThunk->u1.Function ) 当中的&什么意思~
如果只要回车改变焦点
PreTranslateMessage(MSG* pMsg){
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
pMsg->wParam=VK_TAB
...
}
{
CString str;
if ( pMsg->message == WM_KEYDOWN )
{
switch(pMsg->wParam)
{
case VK_ESCAPE:
return TRUE; //直接返回TRUE
break;
case VK_RETURN:
UpdateData();
CEdit *pEdit = (CEdit*)m_ctrlFactoryCombo.GetWindow(GW_CHILD);
if(pMsg->hwnd == pEdit->m_hWnd )
{
m_ctrlFactoryCombo.GetWindowText(str);
m_ctrlFactoryCombo.AddString(str);
};
return TRUE;
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
PreTranslateMsg 函数中处理就可以了