MFC中的一个小问题
时间:2011-12-13
来源:互联网
本人接触MFC时间太短,不大懂!我在BOOL CMyDlg::OnInitDialog()中加入如下代码:
CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
CFont*pFont=pEdit->GetFont();
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight=120;
strcpy_s(lf.lfFaceName,LF_FACESIZE,"Arial");
pFont->CreateFontIndirect(&lf);
pEdit->SetFont(pFont,TRUE);
错误提示是strcpy_s没有被定义,各种该木有成功,似乎很简单的。。就解答
CEdit*pEdit=(CEdit*)GetDlgItem(IDC_EDIT1);
CFont*pFont=pEdit->GetFont();
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight=120;
strcpy_s(lf.lfFaceName,LF_FACESIZE,"Arial");
pFont->CreateFontIndirect(&lf);
pEdit->SetFont(pFont,TRUE);
错误提示是strcpy_s没有被定义,各种该木有成功,似乎很简单的。。就解答
作者: a1065cn 发布时间: 2011-12-13
如果你用的是VC++6,就改成strcpy的调用
作者: masm32v9 发布时间: 2011-12-13
strcpy_s是C++库函数,定义在<string>都文件中,命名空间std
MFC的话,你可以直接这样写:lf.lfFaceName = "Arial";
MFC的话,你可以直接这样写:lf.lfFaceName = "Arial";
作者: riyueming184 发布时间: 2011-12-13
引用 2 楼 riyueming184 的回复:
strcpy_s是C++库函数,定义在<string>都文件中,命名空间std
MFC的话,你可以直接这样写:lf.lfFaceName = "Arial";
我试了一下,提示错误,can not covert from char[6] to char[32],求详细解释 strcpy_s是C++库函数,定义在<string>都文件中,命名空间std
MFC的话,你可以直接这样写:lf.lfFaceName = "Arial";
作者: a1065cn 发布时间: 2011-12-13
抱歉,前两天没空。
如果你还没找到方法解决,可以采用下面的方法:
_tcscpy_s(lf.lfFaceName,LF_FACESIZE,_T("Arial"));
之前我没注意到lf.lfFaceName是个数组,数组是不能直接赋值的,所以编译不通过。
如果提示没有定义,那你最好把包含_tcscpy_s的头文件加入,一般情况下是不需要的,只要你是通过MFC向导生成的应用程序,应该都已经包含了
如果你还没找到方法解决,可以采用下面的方法:
_tcscpy_s(lf.lfFaceName,LF_FACESIZE,_T("Arial"));
之前我没注意到lf.lfFaceName是个数组,数组是不能直接赋值的,所以编译不通过。
如果提示没有定义,那你最好把包含_tcscpy_s的头文件加入,一般情况下是不需要的,只要你是通过MFC向导生成的应用程序,应该都已经包含了
作者: riyueming184 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28