vc6之dialog2-控件访问,messagebox

①访问一个控件
1.可以用控件的id的方式
使用函数GetDlgItemText
,SetDlgItemText

        SetDlgItemText(IDC_COMBO1,"SetDlgItemText");
        SetDlgItemText(IDC_EDIT1,"SetDlgItemText");

        CString str,str1;
        GetDlgItemText(IDC_EDIT1,str);
        GetDlgItemText(IDC_COMBO1,str1);

使用函数GetDlgItem通过对应控件的id编号,来获取控件指针,然后再使用SetWindowTextGetWindowText去操作
GetDlgItem(IDC_EDIT1)->SetWindowText("dd");//先获取IDC_EDIT1对应的指针,再去赋值取值

((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("dd");

int int_temp=6;
str.Format(_T("%d"),int_temp);
GetDlgItem(IDC_EDIT1)->SetWindowText(str);

2.可以先为控件id添加一个控件型变量,再用这个变量访问这个控件。使用函数SetWindowTextGetWindowText
m_edit1.SetWindowText("d");

CString str;
m_edit1.GetWindowText(str);//保存到str
3.可以为该控件添加字符串型变量或int型变量等,再用这个变量访问这个控件,比如字符串变量m_str_edit1对应edit1,则
向屏幕写,先把要写到屏幕上edit控件里的字符串保存在m_str_edit1,然后调用UpdateData(false)
m_str_edit1="hello";
UpdateData(false);//会调用DodataExchange(),write to sceern
从屏幕读,先调用UpdateData(true)从屏幕上读取edit控件里的字符串到m_str_edit1,然后使用m_str_edit1即可
UpdateData(true);//会调用DodataExchange(),save from sceern
CString str=m_str_edit1;
AfxMessageBox(str);

为一个控件添加变量之后,比如为控件IDC_EDIT1添加控件型变量m_edit1和字符串型变量m_str_edit1,系统自动
头文件的类public成员中添加
    CEdit    m_edit1;
    CString    m_str_edit1;
并在类构造函数中添加如下初始化代码
    m_str_edit1 = _T("");
并在类的DoDataExchange函数中添加DDX和DDV,在updatedata时会执行这个函数
void CDialogtestDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CDialogtestDlg)

    DDX_Control(pDX, IDC_EDIT1, m_edit1);

    DDX_Text(pDX, IDC_EDIT1, m_str_edit1);
    DDV_MaxChars(pDX, m_str_edit1, 66);

    //}}AFX_DATA_MAP
}
 
②添加消息映射函数,
按ctrl+w会弹出如下形式的mfc classwizard

比如要为IDC_BUTTON1添加一个BN_CLICKED消息,则在该类头文件的类声明里面多出一个protected成员函数
afx_msg void OnButton1();
并在BEGIN_MESSAGE_MAP 和 END_MESSAGE_MAP()之间会多出一个消息映射记录
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)


③改写基类的虚函数 函数, 按ctrl+w
④添加一个类 按ctrl+w,然后add class,即可在本项目多出一个cpp文件和h文件,对应这个类实现和声明。
当然也可以将类的声明和实现放在一个文件里。比如系统将CAboutXX类的声明和实现都放在了App类的cpp文件里。
如果添加一个非MFC类,可以在workspace的classview中右击该类,选择Add Class,然后generic class
⑤为某类添加一个普通成员函数
按ctrl+w弹出的列表中仅是某个类的消息映射函数和虚函数
要为某类添加一个成员函数,可以在workspace的classview中右击该类,选择Add Member Function。或者手动写代码更快点。


AfxMessageBox("hello");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值