东莞建设小学网站建设网站框架
有时候,我们会遇到需求,软件中需要让选中一个CEdit控件中的文字实时更新到另一个控件中,实现效果如下所示:

代码如下:
BOOL CEditDemoDlg::PreTranslateMessage(MSG* pMsg)
 {
     CEdit* pOldEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
     if (pOldEdit->GetSafeHwnd() == pMsg->hwnd)
     {
         if (WM_LBUTTONUP == pMsg->message)
         {
             CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT2);
             if (pEdit != nullptr)
             {
                 int nStartCharContent = -1, nEndCharContent = -1;
                 pOldEdit->GetSel(nStartCharContent, nEndCharContent);
                CString strResult;
                 //如果位置相同的时候,表示当前没有选择, 需要清空下测的内容
                 if (nStartCharContent != nEndCharContent)
                 {
                     CString strTempText;
                     pOldEdit->GetWindowText(strTempText);
                    strResult = strTempText.Mid(nStartCharContent, (nEndCharContent - nStartCharContent));
                     pEdit->SetWindowText(strResult);
                 }
             }
         }
     }
     return CDialog::PreTranslateMessage(pMsg);
 }
