本文共 1311 字,大约阅读时间需要 4 分钟。
上一篇我们在讲自定义控件的时候如何关联变量,但是那种关联的是自定义控件类,并且选择Control,代表一个类只能关联一个对象变量。而我们这里所讲的关联变量是传统的类型,即已有的类,选择的类型不是Control,而是Value,例如CString,int这些。
1)右击添加变量。
实际上面就已经与对话框关联完变量,下面我们简单演示一下使用这个变量,按下按钮获取CEdit的内容。
1)添加一个按钮。2)双击按钮跳到槽函数,即响应函数。
3)编写代码。
首先在OnInitDialog初始化编辑区的默认值为123。BOOL CjiyuduihuakDlg::OnInitDialog(){ CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 // TODO: 在此添加额外的初始化代码 m_str = TEXT("123"); //更新内容到编辑区 UpdateData(FALSE); return TRUE; // 除非将焦点设置到控件,否则返回 TRUE}
然后在按钮的响应函数中更新编辑区的内容到变量。这样当我们输入内容到编辑区,然后按下按钮,我们的变量m_str就会改变。
void CjiyuduihuakDlg::OnBnClickedButton4(){ // TODO: 在此添加控件通知处理程序代码 //更新代码到变量m_str中 UpdateData(TRUE); MessageBox(m_str);}
结果:
开始默认值为123。输入abc后按下按钮变量值随之更新。通过下面的方法我们就可以看到程序的所有关联变量。
转载地址:http://ytfv.baihongyu.com/