关于mfc学习小记(bug小记)

关于控件问题

基本上出错的都是类型不为LPCTSTR
解决方式:
1.字符串转换
_T(str)
例:_T("你说的都对")

关于button控件

按照老旧的方式为其关联函数中添加弹框事件

AfxMessageBox("你个小垃圾");

报错

查询为vs版本处理Unicode编码问题
可改为

AfxMessageBox(_T("你个小垃圾"));

关于listbox控件

映射:

  1. 映射成int型变量,若UpdateData(TRUE),映射变量的值为选中条目的序号;
  2. 映射成CString型变量,若UpdateData(TRUE),映射变量的值为选中条目的序号
  3. 映射成CListBox类的一个实例

在为listbox初始化插入条目时,同样出现了字符串的问题;
同样,加上_T()实现转换

m_listbox.InsertString(0, _T("建筑系"));
m_listbox.InsertString(1, _T("土木系"));

然后再一次遇到了相似的错误

	Message2.Format(("你刚才单击了第%d个调目", m_SexType);

错误(活动) E0304 没有与参数列表匹配的 重载函数 "ATL::CStringT<BaseType, StringTraits>::Format [其中 BaseType=wchar_t, StringTraits=StrTraitMFC_DLL<wchar_t, ATL::ChTraitsCRT<wchar_t>>]" 实例

修改为

	Message2.Format(_T("你刚才单击了第%d个调目"), m_SexType);
原文地址:https://www.cnblogs.com/yuyuan-bb/p/9524659.html