怎样在CComboBox里响应按键?急,在线等 我想在一个CComboBox里面输入文本,然后按回车键调用一个小函数,大概就象IE里的地址栏一样,输入地址,回车,显示网叶。是不是要判断输入的字符是否是回车键,还是怎样?请高手赐教,最好给出一段代码!谢谢…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载函数PreTranslateMessageBOOL CTabctrlDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class if(pMsg -> message == WM_KEYDOWN) { if(pMsg -> wParam == VK_RETURN) { //Do something return TRUE; } } return CDialog::PreTranslateMessage(pMsg);} 如果是对话框应用程序void CYourDlg::OnOK() { if(GetFocus()->GetParent() == GetDlgItem(IDC_COMBO1)) { AfxMessageBox("回车"); } else { CDialog::OnOK(); }} BOOL CTabctrlDlg::PreTranslateMessage(MSG* pMsg) { if(GetFocus()==GetDlgItem(IDC_COMBOX1))//判断光标在不在combox里 if(pMsg -> message == WM_KEYDOWN)//处理键盘消息 { if(pMsg -> wParam == VK_RETURN) { //此处执行你的程序 return TRUE; } } return CDialog::PreTranslateMessage(pMsg);} 我再改一改,呵呵。BOOL CTabctrlDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg -> message == WM_KEYDOWN)//处理键盘消息 { if(pMsg -> wParam == VK_RETURN) { if(GetFocus().GetParent()==GetDlgItem(IDC_COMBO1))//判断光标在不在combox里 { //此处执行你的程序 return TRUE; } } } return CDialog::PreTranslateMessage(pMsg);} VK_RETURN=13,我以前用的时候,好像VK_RETURN系统不认 好象有一个专门的处理函数,你在clswizard中找找,是当选择了combobox中一个item之后按回车就激发的消息处理. 关于驱动与应用程序通信 雪地跪求矩阵遍历算法 设置edit字体,下半身显示不出来, 如何对时间控件初始化 求4位16色BMP图象的彩色抖动代码 请高手指点导出模板类 得到CHAR*的长度的方法是什么来着???? 如何制作位图按钮? winsock通信特别急的问题! 如何用VC编程实现单台主机上双VGA卡的不同画面显示?急急急! 想在组合框的编辑框里输入一个标题,但又不想让用户修改编辑框,怎么做? 鼠标的坐标是否只能限制在屏幕里面?
BOOL CTabctrlDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg -> message == WM_KEYDOWN)
{
if(pMsg -> wParam == VK_RETURN)
{
//Do something
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
void CYourDlg::OnOK()
{
if(GetFocus()->GetParent() == GetDlgItem(IDC_COMBO1))
{
AfxMessageBox("回车");
}
else
{
CDialog::OnOK();
}
}
BOOL CTabctrlDlg::PreTranslateMessage(MSG* pMsg)
{
if(GetFocus()==GetDlgItem(IDC_COMBOX1))//判断光标在不在combox里
if(pMsg -> message == WM_KEYDOWN)//处理键盘消息
{
if(pMsg -> wParam == VK_RETURN)
{
//此处执行你的程序
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
BOOL CTabctrlDlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg -> message == WM_KEYDOWN)//处理键盘消息
{
if(pMsg -> wParam == VK_RETURN)
{
if(GetFocus().GetParent()==GetDlgItem(IDC_COMBO1))//判断光标在不在combox里
{
//此处执行你的程序
return TRUE;
}
}
}
return CDialog::PreTranslateMessage(pMsg);
}