求教一些MFC的问题,本人刚接触不久。

qq_39658113 2017-11-27 09:36:13
最近在看孙鑫老师的VC++深入详解,里面第7章对话框中,有一个是实现按下回车键,实现输入焦点从第一个编辑框中移动到下一个编辑框。里面有一种方法是用OnOK()函数添加GetFocus()->GetNextWindow()->SetFocus();代码实现按下回车焦点转移。然后我想,按下键盘后不是会产生WM_CHAR消息吗,我用它的消息函数OnChar()来添加相同的代码,但是为什么实现不了这个功能。
void CText7Dlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CDialog::OnChar(nChar, nRepCnt, nFlags);
if(0x0d==nChar)
{
GetFocus()->GetNextWindow()->SetFocus();
}
}
有没有大神能告诉我为什么,刚接触对MFC里面的机制还不熟悉。
...全文
283 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
凌乱哥 2017-11-27
  • 打赏
  • 举报
回复
建议百度搜索看看WM_KEYDOWN和WM_CHAR消息的区别
凌乱哥 2017-11-27
  • 打赏
  • 举报
回复
WM_CHAR CHAR是“字符”,1234abcd才是字符,回车不是字符
qq_39658113 2017-11-27
  • 打赏
  • 举报
回复
BOOL CText7Dlg::PreTranslateMessage(MSG* pMsg) { // TODO: 在此添加专用代码和/或调用基类 if(pMsg->message==WM_CHAR) { if(pMsg->message==WM_KEYDOWN) if(pMsg->wParam==VK_RETURN) //GetNextDlgTabItem(GetFocus())->SetFocus(); MessageBox(L"haha"); 我重载了PreTranslateMessage,但是在编辑框中按下回车键后为什么不会弹出我写的MessageBox(L"haha");,编辑框控件的Want Return设置了,OnOK()函数也重载了,为什么没有反应
schlafenhamster 2017-11-27
  • 打赏
  • 举报
回复
对话框 客户区 本身 没有 WM_CHAR 消息
schlafenhamster 2017-11-27
  • 打赏
  • 举报
回复
你看看 void CText7Dlg::OnChar 是不是 没有 进去 ?
qq_39658113 2017-11-27
  • 打赏
  • 举报
回复
我已经把默认OnOK()函数注释掉了,所以按下回车不会退出
schlafenhamster 2017-11-27
  • 打赏
  • 举报
回复
开始 对话框的 focus 在按钮 OK 上 ,回车 的 结果 是 响应 OK ,对话框 退出 !
schlafenhamster 2017-11-27
  • 打赏
  • 举报
回复
GetNextDlgTabItem(GetFocus())->SetFocus(); 将 focus 到 OK 后 ,VK_RETURN 使窗口关闭
schlafenhamster 2017-11-27
  • 打赏
  • 举报
回复
if(pMsg->message==WM_KEYDOWN) { if(pMsg->wParam==VK_RETURN) { MessageBox("haha"); GetNextDlgTabItem(GetFocus())->SetFocus(); } } 不是很好嘛?
schlafenhamster 2017-11-27
  • 打赏
  • 举报
回复
if(pMsg->message==WM_KEYDOWN) { if(pMsg->wParam==VK_RETURN) { //GetNextDlgTabItem(GetFocus())->SetFocus(); MessageBox("haha"); } } 可以 弹出 haha
凌乱哥 2017-11-27
  • 打赏
  • 举报
回复
引用 8 楼 qq_39658113 的回复:
但是我看书里面回车对应的字符是0X0d啊,而且也确实产生了WM_CHAR消息
读万卷书不如行万里路,尽信书不如不读书
qq_39658113 2017-11-27
  • 打赏
  • 举报
回复
但是我看书里面回车对应的字符是0X0d啊,而且也确实产生了WM_CHAR消息
内容概要:本文介绍了DeepSeek在职场中的应用,从提示语技巧到多场景应用,涵盖了DeepSeek的基础模型(V3)、深度思考模型(R1)及其联网搜索功能。文中详细描述了DeepSeek的模型对比,包括操作规范、结果导向、路径灵活性、响应模式和风险特征等方面。此外,还探讨了DeepSeek在制作可视化图表、PPT、海报、视频以及批量生成新媒体文案等具体应用场景中的使用方法和技巧。最后,文章展示了DeepSeek在市场调查、AI应用开发等方面的应用实例,强调了其在人机协同和共生领域的潜力。 适用人群:适用于希望提升工作效率和创新能力的职场人士,特别是从事数据分析、内容创作、市场营销、AI开发等领域的专业人士。 使用场景及目标:①通过DeepSeek的基础模型(V3)和深度思考模型(R1)进行高效的任务处理和复杂推理;②利用DeepSeek制作可视化图表、PPT、海报和视频,提高内容创作的质量和效率;③通过DeepSeek进行市场调查和AI应用开发,优化业务流程并推动创新。 其他说明:DeepSeek不仅提供了强大的AI工具,还强调了人机协同的重要性。用户在使用过程中应注意操作规范,结合实际需求选择合适的模型,并充分利用DeepSeek的各项功能来实现高效的职场应用。文中还提到了多个国际竞赛中的获奖情况,展示了DeepSeek团队在AI领域的卓越实力。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧