vc6.0如何使用getwindowtext函数获取edit控件中的文本内容

2025-05-11 07:33:09
推荐回答(2个)
回答1:

CWnd::GetWindowText(LPTSTR lpszString, int nMaxCount)
CWnd::GetWindowText(CString& rString)
CWnd::GetWindowText(LPTSTR lpszStringBuf, int nMaxCount)
三种形式,使用得最简单和频繁的应该就是第二种了吧(个人而言)
使用实例:
CEdit my_edit;
CString string;
my_edit.GetWindowText(string);
就得到了编辑框中的字符串

在WM_COMMAND中可以将消息,函数及控件ID联系起来,可以利用编辑框的EN_SETFOCUS消息来达到你想要的结果。
例如:
头文件中添加:
afx_msg void OnSetfocusEdit1(); //添加
应用文件中添加消息影射:
ON_EN_SETFOCUS(IDC_EDIT1, OnSetfocusEdit1)

回答2:

看到你的问题我感到有点纠结,没弄明白什么叫“修改状态”。
GetDlgItem (IDC_EDIT1)->SetFocus();//这里可以使编辑框变成可输入状态,但用的地方一定要用对,放在OnInitDialog()中就不行。
你要的修改状态是不是这样子的:比如说你原来的框里有字符abc,修改状态也就是编辑框变成可输入状态,而且abc是选定的(颜色变蓝色),如果你输入字符,abc就会被替换成你输入的字符。
CString str="abc";
CEdit *p=(CEdit*)GetDlgItem(IDC_EDIT1);
p->SetFocus();
p->SetWindowText(str);
p->SetSel(0,-1);
当然,换成p->SetSel(str.GetLength(),-1);abc不会被选定,输入光标在abc的最后。
不知道你是不是这个意思。