Windows字符集以及以及字符转换

  • 消息映射是一个将消息和成员函数相互关联的表
  • 消息由三个部分组成:消息值、wParam参数和lParam参数

Windows字符集

  • 多字节->宽字节 加L L"abc"

TEXT 自适应编码的转换

TCHAR 自适应编码的转换

//统计多字节字符串长度
int num = 0;
char *p = "abc";
num = strlen(p);

//统计宽字节的字符串长度
wchar_t *p1 = L"avfsd";
num = wcslen(p1);
char * 与CString之间的转换 C++ string .c_str()
//char * ->CString
char *p2 = "cba";
CString str = CString(p2);

//CString -> char *
CStringA tmp;
tmp = str;
char *p4 = tmp.GetBuffer();
对话框类的数据交换和检验

​ 在程序运行界面中,用户往往会改变控件的属性,例如,在编辑框中输入字符串,或者改变组合框的选中项,又或者改变复选框的选中状态等。控件的属性改变后MFC会相应修改控件关联变量的值。这种同步的改变是通过MFC为对话框类自动生成的成员函数**DoDataExchange()**来实现的,也叫做对话框的数据交换和检验机制。

但是这种数据交换机制中,DoDataExchange()并不是被自动调用的,而是需要我们在程序中调用CDialogEx::UpdateData()函数,由UpdateData()函数再去自动调用DoDataExchange()的.

CDialogEx::UpdateData()函数的原型为:

BOOL UpdateData(BOOL bSaveAndValidate = TRUE);

​ 参数:bSaveAndValidate用于指示数据传输的方向,TRUE表示从控件传给变量,FALSE表示从变量传给控件。默认值是TRUE,即从控件传给变量。

一般为了让某种操作达到效果,我们只需要实现某个消息的消息处理函数

弹出对话框比较关键的一个函数,就是对话框类的DoModal()函数。CDialog::DoModal()函数的原型为:

​ virtual INT_PTR DoModal();

​ 返回值:整数值,指定了传递给CDialog::EndDialog(该函数用于关闭对话框)的nResult参数值。如果函数不能创建对话框,则返回-1;如果出现其它错误,则返回IDABORT。

​ 调用了它对话框就会弹出,返回值是退出对话框时所点的按钮的ID,比如,我们点了“退出”按钮,那么DoModal返回值为IDCANCEL。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量子孤岛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值