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

用createwindow创建了窗体和一个button和一个edit控件,可是如何在单击button时,将edit控件里的文本内容用textout函数打印在窗体上呢?
getwindowtext函数怎么用?如何得到edit空间里的内容?得到后存放在哪里?
还有如何在WM_COMMAND里判断单击的是哪一个控件,如果是button才起作用。
最好有可用的代码,谢谢列位了!
能解决问题的回答追加分数。
不是mfc啊,是win32应用程序,用winapi的。

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)追问

你说的是mfc吗?

追答

不是 MFC可以通过ClassWizard自动添加 我说的是单文档等非MFC程序,可以通过手动添加实现相同的效果

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-01
看到你的问题我感到有点纠结,没弄明白什么叫“修改状态”。
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的最后。
不知道你是不是这个意思。本回答被提问者和网友采纳

vc6.0如何使用getwindowtext函数获取edit控件中的文本内容?
\\x0d\\x0aGetDlgItem (IDC_EDIT1)->SetFocus();\/\/这里可以使编辑框变成可输入状态,但用的地方一定要用对,放在OnInitDialog()中就不行。\\x0d\\x0a你要的修改状态是不是这样子的:比如说你原来的框里有字符abc,修改状态也就是编辑框变成可输入状态,而且abc是选定的(颜色变蓝色),如果你输...

VC++6.0里怎么通过怎么获取编辑框里面的数据
然后在需要值的函数里面,调用UpdateData(),你指定的变量里面就是Edit框里面的值了

VC++6.0中,怎么取EDIT控件中的值?
可以将Edit控件和一个int型的变量关联起来,这样你UpdateDate(TRUE);的时候这个变量就自动被赋填在Edit中的值了,至于如果你要确保输入的是整数,只能通过继承一个自己的MyEdit控件,然后过滤掉非法输入了.

vc++怎样获得Edit控件里选择的字符(反显部分)
void GetWindowText( CString& rString );\/\/用CEdit类的这个函数得到Edit控件的内容 void GetSel( int& nStartChar, int& nEndChar ) ;\/\/用CEdit类这个函数得到选中文字的起始位置 CString Mid( int nFirst, int nCount ) ;\/\/用CString类的这个函数返回选中字符,其中nfirst为nStartChar, nCoutn...

...提示保存成功,但是打开之后发现不是EDIT中的内容?
*.txt)|*.txt|所有文件(*.*)|*.*|");if(FileDlg.DoModal()==IDOK){ GetDlgItem(IDC_EDIT1)->GetWindowText(str);AfxMessageBox(str);\/\/看一下提取的内容是否正确 ofstream ofs(FileDlg.GetPathName());ofs.write(str,str.GetLength());ofs.close();AfxMessageBox("保存成功");} ...

VC++中如何读取Edit编辑框中输入的字符串
可以使用楼上的方法,也可以使用VC6.0的类向导将编辑框控件与函数中的变量绑定到一起,选择变量类型时可以选择CString,这样在使用变量之前用UpdateData(TRUE),将编辑框内容更新到变量中,接着就可以使用了。

VC++)请简述一种能取得文本框控件中内容的方法。
1、为文本框添加一个CString类型的变量,例如为m_strEdit。每次需要取得文本框内容时,调用UpdateData(TRUE)函数,m_strEdit中就会得到当前文本框中的内容;2、为文本框添加一个CEdit类型的变量,例如为m_wndEdit.每次需要得到文本框内容时,如下操作:CString strEditContent;m_wndEdit.GetWindowText(strEdit...

在VC++MFC中,怎样从一个窗口获取另外一个窗口的编辑框的文本???
1、如果是对话框,那么先得到那个对话框的窗口hWnd,然后通过传入ID就会得到对应的编辑框句柄,然后得到文本:HWND hEdit = GetDlgItem( hDlgWnd, uEditID );TCHAR szBuf[MAX_PATH];::GetWindowText( hEdit, szBuf, MAX_PATH );2、如果是其他窗口,其他窗口创建时保存Edit窗口的指针,然后通过这个...

如何利用VC6.0编星中的mfc座配对的程序
双击Button1,会自动添加Button1的消息函数,然后在添加的函数中写如下语句:CString str1;GetDLgItem(IDC_EDIT1)->GetWindowText(str1);\/\/然后根据得到的str1找到它配对的星座的字符串str2,这个具体算法就得你自己写了,可以用两个相互对应的数组或者其他方法 \/\/然后将找到的配对星座显示出来:GetDlgItem...

VC++MFC问题,怎样在按下按钮后,已文本形式保存指定编辑框中的内容
这个函数应该添加在第一个函数之后。比如我可以添加如下的代码:void CMPMDialog::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX); \/\/ 原有的,不要删除 \/\/ 声明控件变量 DDX_Text( pDX , IDC_EDIT_STRING , m_String );DDX_Text( pDX , IDC_EDIT_DATA , m_Data );...

相似回答