Crichedit改变字体的问题
CHARFORMATcf;ZeroMemory(&cf,sizeof(CHARFORMAT));cf.cbSize=sizeof(CHARFORMAT);cf.dwMas...
CHARFORMAT cf;
ZeroMemory(&cf, sizeof(CHARFORMAT));
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
cf.dwEffects = 0;
cf.yHeight = 12*12;//文字高度
cf.crTextColor = RGB(200, 100, 255); //文字颜色
strcpy(cf.szFaceName ,_T("隶书"));//设置字体
m_richedit.SetSel(1, 5); //设置处理区域
m_richedit.SetSelectionCharFormat(cf);
这在Unicode下出错
error C2664: 'strcpy' : cannot convert parameter 2 from 'unsigned short [3]' to 'const char *'
请问要如何解决,谢谢 展开
ZeroMemory(&cf, sizeof(CHARFORMAT));
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_BOLD | CFM_COLOR | CFM_FACE |
CFM_ITALIC | CFM_SIZE | CFM_UNDERLINE;
cf.dwEffects = 0;
cf.yHeight = 12*12;//文字高度
cf.crTextColor = RGB(200, 100, 255); //文字颜色
strcpy(cf.szFaceName ,_T("隶书"));//设置字体
m_richedit.SetSel(1, 5); //设置处理区域
m_richedit.SetSelectionCharFormat(cf);
这在Unicode下出错
error C2664: 'strcpy' : cannot convert parameter 2 from 'unsigned short [3]' to 'const char *'
请问要如何解决,谢谢 展开
1个回答
展开全部
strcpy(cf.szFaceName ,_T("隶书"));//设置字体 //错了
用lstrcpy(cf.szFaceName ,_T("隶书"));
但CHARFORMAT是不支持Unicode的,因此要用CHARFORMAT2这个版本。
不知道你是不是新学了一个结构会去注意下它结构中各种数据的排列顺序?
一般象cbSize都是放在第一个的,这个是有窍门的。如:
CHARFORMAT cf = { sizeof(CHARFORMAT); }
这个就是初始化了。
同你写的比较一下:
CHARFORMAT cf;
ZeroMemory(&cf, sizeof(CHARFORMAT));
cf.cbSize = sizeof(CHARFORMAT);
是不是有不同的体会呢?
用lstrcpy(cf.szFaceName ,_T("隶书"));
但CHARFORMAT是不支持Unicode的,因此要用CHARFORMAT2这个版本。
不知道你是不是新学了一个结构会去注意下它结构中各种数据的排列顺序?
一般象cbSize都是放在第一个的,这个是有窍门的。如:
CHARFORMAT cf = { sizeof(CHARFORMAT); }
这个就是初始化了。
同你写的比较一下:
CHARFORMAT cf;
ZeroMemory(&cf, sizeof(CHARFORMAT));
cf.cbSize = sizeof(CHARFORMAT);
是不是有不同的体会呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询