vc 一个按钮,两个edit
有两个edit,一个按钮(作用是在edit内容后添加一个字符串),光标在第一个edit时点按钮,则在第一个edit中添加,第二个同理。谢谢,在线等,急用!!!...
有两个edit,一个按钮(作用是在edit内容后添加一个字符串),光标在第一个edit时点按钮,则在第一个edit中添加,第二个同理。谢谢,在线等,急用!!!
展开
展开全部
楼上的那位方法好像有一些问题:当你点击按钮时,焦点就落到了按钮上,所以GetFocus()获取到的也就是指向按钮的指针.if中的语句都不会初执行.
我只想到一个比较笨的方法:
在类中定义一个CWnd* pWnd指针,在OnInitDialog()函数中用pWnd = GetFocus();
然后再添加消息响应函数,对一些可能引起焦点变化的事件进行处理(比如说单击左键,双击,还有键盘的tab键),在每一个消息处理函数中都用pWnd = GetFocus();来保存一下焦点的位置.
然后在点击按钮时,再进行判断,我简单写了如下代码:
if (pWnd->GetDlgCtrlID() == IDC_EDIT1 || pWnd->GetDlgCtrlID() == IDC_EDIT2)
{
CEdit* p = (CEdit*)GetDlgItem(pWnd->GetDlgCtrlID());
p->SetSel(-1, -1);
p->ReplaceSel("你要加的内容");
}
我只想到一个比较笨的方法:
在类中定义一个CWnd* pWnd指针,在OnInitDialog()函数中用pWnd = GetFocus();
然后再添加消息响应函数,对一些可能引起焦点变化的事件进行处理(比如说单击左键,双击,还有键盘的tab键),在每一个消息处理函数中都用pWnd = GetFocus();来保存一下焦点的位置.
然后在点击按钮时,再进行判断,我简单写了如下代码:
if (pWnd->GetDlgCtrlID() == IDC_EDIT1 || pWnd->GetDlgCtrlID() == IDC_EDIT2)
{
CEdit* p = (CEdit*)GetDlgItem(pWnd->GetDlgCtrlID());
p->SetSel(-1, -1);
p->ReplaceSel("你要加的内容");
}
展开全部
在button事件中增加如下代码:(未调试,请自己调试)
CString szItem;
if( GetFocus()==GetDlgItem(IDC_EDIT1) ){
GetDlgItemText(IDC_EDIT1, szItem);
szItem+="xxx";
GetDlgItem(IDC_EDIT1)->SetWindowText(szItem);
}
if( GetFocus()==GetDlgItem(IDC_EDIT2) ){
GetDlgItemText(IDC_EDIT2, szItem);
szItem+="xxx";
GetDlgItem(IDC_EDIT2)->SetWindowText(szItem);
}
CString szItem;
if( GetFocus()==GetDlgItem(IDC_EDIT1) ){
GetDlgItemText(IDC_EDIT1, szItem);
szItem+="xxx";
GetDlgItem(IDC_EDIT1)->SetWindowText(szItem);
}
if( GetFocus()==GetDlgItem(IDC_EDIT2) ){
GetDlgItemText(IDC_EDIT2, szItem);
szItem+="xxx";
GetDlgItem(IDC_EDIT2)->SetWindowText(szItem);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询