焦点设置问题!高手来!

heavenb 2004-09-24 02:50:34
我正在做一个聊天软件,

我在Editbox中输入文本后,如何在回车时自动把焦点设置到发送按钮上去!并且把发出文本?

我这样做的
OnEditBoxChange() //响应EN_CHANGE消息
{
m_ButtonSend.SetFoucs();

}

可是这样不行,一旦EditBox中有输入,焦点就跑到Button上面去了!
请问应该如何设置这里的焦点?

...全文
262 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nabie 2004-09-24
  • 打赏
  • 举报
回复
把发送按钮设置为默认按钮,使用模态对话框,这样就搞定了,Windows 会帮你处理键盘消息,按下回车的时候默认按钮被按下,在默认按钮被按下的事件里写发送的代码。
  • 打赏
  • 举报
回复
OnOK改成发送按钮
把自动生成的CDialog::OnOn删除就行
在这里作处理就行了
danielzhu 2004-09-24
  • 打赏
  • 举报
回复
UP
superinsect 2004-09-24
  • 打赏
  • 举报
回复
不要在en_change消息里做, 响应它的回车消息嘛
tyjzq 2004-09-24
  • 打赏
  • 举报
回复
一个很简单得办法:
edit控件的Style = ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | WS_VSCROLL | WS_HSCROLL
不能有ES_WANTRETURN

那个发送按钮设置成default button
发送按钮的代码中处理完成后再把焦点设置到edit控件中去
ok!
goodname008 2004-09-24
  • 打赏
  • 举报
回复
拦载消息,然后设置焦点。
Kudeet 2004-09-24
  • 打赏
  • 举报
回复
在运行前设置好TAB键的跳格顺序,然后截了RETURN消息,转化为TAB,或者直接设置焦点为按钮
****::PreTranslateMessage(MSG *pMsg)
{
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
pMsg->wParam==VK_TAB;
//GetDlgItem(IDC_EIDT)->SetFocus();

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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