MFC:如何获得dialog里的editcontrol的内容

MFC:如何获得dialog里的editcontrol的内容,第1张

你的dialog类里创建一个成员函数 CString或TCHAR

继承实现函数OnOK,在里面调用GetDlgItemText

或者利用DDX_Text及UpdateData(TRUE)

你的Edit控件放在一个对话框上吧

这个对话框有一个类与其相关联吧

为这个类添加一个成员函数 这个函数用来获取输入的文字

在这个函数中 定义一个数组 接收这些文字

char szBuffer[1024]={0};

调用API函数 GetDlgItemText(控件ID号,szBuffer);

假设子窗口类为CChild;

在你需要d出子窗口的地方加代码:

CChild child;

if(childDomodle() == IDOK)

{

设置m_edit数据为childm_comboboxGetString(comboboxGetCurselSel());

}

大概就是这么个意思,具体的函数名我可能写的不对,但是那样功能的函数肯定存在,你找类似的就可以了

可以这么做。。。EDIT控件1ID命名为IDC_EDIT1,变量名m_edit1;EDIT控件2ID命名为IDC_EDIT2,变量名m_edit2。一个按钮IDC_BUTTON,双击按钮直接在里面添加以下代码:

UpdateData(TRUE);

m_edit2=m_edit1;

UpdateData(FALSE);

这样一来,在控件1里面输入任何东西,按确定以后就可以在控件2里面显示

变量命名根据你自己喜好,可以自己修改

可以将Edit控件和一个int型的变量关联起来,

这样你UpdateDate(TRUE);的时候这个变量就自动被赋填在Edit中的值了,至于如果你要确保输入的是整数,只能通过继承一个自己的MyEdit控件,然后过滤掉非法输入了

CWnd::GetWindowText(LPTSTR

lpszString,

int

nMaxCount)

CWnd::GetWindowText(CString&

rString)

CWnd::GetWindowText(LPTSTR

lpszStringBuf,

int

nMaxCount)

三种形式,使用得最简单和频繁的应该就是第二种了吧(个人而言)

使用实例:

CEdit

my_edit;

CString

string;

my_editGetWindowText(string);

就得到了编辑框中的字符串

在WM_COMMAND中可以将消息,函数及控件ID联系起来,可以利用编辑框的EN_SETFOCUS消息来达到你想要的结果。

例如:

头文件中添加:

afx_msg

void

OnSetfocusEdit1();

//添加

应用文件中添加消息影射:

ON_EN_SETFOCUS(IDC_EDIT1,

OnSetfocusEdit1)

不需要在edit的callback里写,直接在button的callback里写:

n=str2num(get(handlesnn,'string'));

就可以得到输入的数值了.

以上就是关于MFC:如何获得dialog里的editcontrol的内容全部的内容,包括:MFC:如何获得dialog里的editcontrol的内容、怎样去获取mfc中Edit输入的文字、MFC 主窗口EDIT控件获取子窗口COMBOBOX控件中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10179141.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存