我建立了一个对话框程序
其中有个Editbox
我想在程序中,editbox里输入用户名字,再将字符串存到一个变量里,怎么操作?
程序一开始,就建立了3个类
CAboutDlg
CRoeditApp
CRoeditDlg
我的变量应建立在哪个类里?请具体说说对话框当中,控件如何操作~谢谢~
在CRoeditDlg里建立变量,右击这个类,选择添加变量就可以了。
操作控件吗。例如:编辑框为IDC_EDIT.可以点击查看,选择‘建立类向导‘,在弹出的ClassWizard属性页中选择第二个标签,双击IDC_EDIT,在最上面的编辑框中输入m_eidt.然后在OnInitDialog()中m_edit="dfdfdsfds";UpdateData(FALSE);编译
1。打开资源Tab,双击Dialog下的IDD_XXXXXXX(不是IDD_ABOUT那个),在对话框设计模板上,从工具箱中拖一个Edit控件到模板上,把它的ID命名成一个易记的,比如IDC_USER_NAME。
(如果没有工具箱,那在工具栏空白处右击,从弹出菜单中选择controls)
2。从菜单[View->Classwizard]->[Member variables]->[Class name->CRoeditDlg]->[Controls ID->IDC_USER_NAME]->[Add variable..]->[Name: m_csUserName]->[Category: value]->[Type:CString],<OK>,<OK>
3。在CRoeditDlg中,你想最用户输入的名字的地方,先调用UpdateData(TRUE),然后你就可以从m_csUserName中取得入输入内容了。
你的变量当然应该建立在CRoeditDlg类中,其实不必手动建立,可以通过ClassWizard实现。
对控件的操作有多种方式:
1、映射控件的值变量,步骤如下:View->ClassWizard ( 或者直接Ctrl + W )->Member
Variables-> 在Class name中选择CRoeditDlg 接着在Control IDs列表中双击EditBox控
件的ID,在Category中选择Value,然后输入变量名称,你输入的变量将与控件关联,变量
值的改变,通过UpdateData( FALSE )将影响到控件的显示,而对控件的手工输入,则可
以通过UpdateData( TRUE ),使变量值与其输入的内容保持一致。
2、映射控件的控制变量,方法与1差不多,不过在Category中选择的应该是Control,而非
Value, 输入控制变量名称( 例如: m_ctlEdit ), 接着可以通过
m_ctlEdit.SetWindowText( ... ) 等CEdit的成员函数进行对控件的控制.
3、直接通过GetDlgItem( IDC_EDIT )->SetWindowText()等函数控制;
Classwizard->Member variables
你的变量当然应该建立在CRoeditDlg类中,其实不必手动建立,可以通过ClassWizard实现。
具体的做法按照CCBeyond(西别_&_钱不够用) 说的那样做。
呵呵,看看VC++ 技术内幕吧!
CString csText;
GetDlgItem(ID_EDIT)->GetWindowText(csText);
其中ID_EDIT为编辑框的ID号