请教关于设置字体及颜色问题

zhangyongjun001 2011-02-16 04:26:44
代码如下
LOGFONT lf;
memset( &lf , 0 ,sizeof( LOGFONT ) );
lf.lfHeight = 35;
lf.lfWeight = 3 ;
lf.lfCharSet = GB2312_CHARSET;
memcpy( (LPSTR)&( lf.lfFaceName ), "隶书" ,4);
CFont new_font,*old_font;
new_font.CreateFontIndirectW( &lf );
old_font = pDC->SelectObject( &new_font );
pDC->SetTextColor(RGB(100 , 50 , 0));
pDC->TextOutW( 700 , 100 ,_T("走势图"));

为什么只有字的大小根据参数的不同发生变化,而字体和颜色却没有变化,颜色一直是黑色。字体无论我设置什么都没有变化。
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
justkwy 2011-02-25
  • 打赏
  • 举报
回复
用sprintf应该行吧
zhangyongjun001 2011-02-23
  • 打赏
  • 举报
回复
我试了几次,发现颜色可以改变,但字体始终没有变,问题可能出在下面这条语句
memcpy( (LPSTR)&( lf.lfFaceName ), "隶书" ,4);
执行了这条语句后,我用AfxMessaegBox(lf.lfFaceName),显示的是乱码,导致了字体不能改变。
我想请教一下高手,怎样对lf.lfFaceName赋值,用strcpy,vs2005系统提示strcpy被否决,况且也不能正常赋值。请高手指教。
zhangyongjun001 2011-02-23
  • 打赏
  • 举报
回复
怎么某有人回答呀!
zhangyongjun001 2011-02-16
  • 打赏
  • 举报
回复
说明一下,我用的是vs2005系统。对字体赋值时,即
memcpy( (LPSTR)&( lf.lfFaceName ), "隶书" ,4);
我曾用过
strcpy( (LPSTR)&( lf.lfFaceName ), "隶书");
系统提示strcpy不安全,于是我用了memcpy,不知对不对?

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧