ChartDirector 6.0在MFC下乱码问题

XYChart *c = new XYChart(640, 350);
char buffer1[256] = "";
UnicodeToUtf8(L"Realtime Chart with Zoom/Scroll and Track Line测试", buffer1);
c->addTitle(buffer1, "simsun.ttc", 18);

UnicodeToUtf8()函数实现如下:

void UnicodeToUtf8(const TCHAR *unicode, char *utf8)
{
  int len = WideCharToMultiByte(CP_UTF8, 0, (const TCHAR *)unicode, -1, NULL, 0, NULL, NULL);

  memset(utf8, 0, len * 2 + 2);
  WideCharToMultiByte(CP_UTF8, 0, (const TCHAR *)unicode, -1, utf8, len, NULL, NULL);
}

void Utf8ToUnicode(const char *utf8, TCHAR *unicode)
{
  int len = MultiByteToWideChar(CP_UTF8, 0, (const char *)utf8, -1, NULL, 0);

  MultiByteToWideChar(CP_UTF8, NULL, utf8, -1, unicode, len);
}

  

时间: 2024-08-01 06:25:01

ChartDirector 6.0在MFC下乱码问题的相关文章

MFC下的各种字符串类型和相互转换

MFC下的常用字符串数据类型表示的含义: L:Long  长 P:Point  指针 C:Const  常量 W:Wchar_t  宽字符 T:TCHAR  STR:String  字符串 在看看MFC下各种数据类型的定义: 1 typedef char *LPSTR; 2 typedef const char *LPCSTR; 3 4 typedef wchar_t *LPWSTR; 5 typedef const wchar_t *LPCWSTR; 6 typedef wchar_t WCH

转:ArcEngine10.0+VS2010+MFC 扫盲贴 .

项目用vc6.0+MapObject写的,现在却要升级成AE10,研究了好多天的AE10.0和c++,中间的曲折也不想多说了,废话少数,下面是实现ArcEngine基本功能的,仅供参考,如能帮到同仁们,那就很欣慰了. 前提:已经安装了ArcGIS10.0,ArcEngine10.0 C++开发包,已经安装了vs2010,win7 32位(64位暂未验证) 总的来说分为如下几步: 1.引入库文件 2.加入地图控件 3.将地图控件和成员变量绑定 4.初始化许可 5.加载数据 6.添加功能 1.首先请

MongoDB在MFC下使用C++驱动编译错误的解决

.post p{text-indent: 2em;} 今天使用MongoDB的C++驱动,在编译连接的时候一直出现错误,显示的string_data.h下93行max宏的问题,可视其本身并不是调用max宏,而是调用 std::numeric_limits<size_t>::max 这样就是产生错误,通过搜索发现解决方法(参考网址:http://blog.chinaunix.net/uid-17102734-id-2830143.html),将该函数用括号括起来,避免windows定义的混淆,具

MFC下MCI的使用播放音乐

最近研究了一下MFC下的音乐的播放,主要使用了MCI 1.需要包含的库文件 在链接资源里(link)添加库文件VFW32.lib winmm.lib 2.包含的头文件 1 #include <mmsystem.h> 2 3 #include "stdafx.h" 4 5 #include "vfw.h" 6 7 #include <digitalv.h> 8 9 #pragma comment(lib,"winmm.lib"

MFC下对串口的操作以及定时器的调用

最近研究了一下MFC下对串口的操作,测试了一下对设备的读写. 1.打开串口 1 GetDlgItem(IDC_BUTTON_OPEN)->EnableWindow(FALSE); 2 m_hComm = CreateFile("COM1", 3 GENERIC_READ | GENERIC_WRITE, 4 0, 5 NULL, 6 OPEN_EXISTING, 7 0, 8 NULL); 9 if (m_hComm == INVALID_HANDLE_VALUE) 10 { 1

MFC下AfxSocketInit()正确初始化套接字

初始化Socket,这是mfc封装的类调用之前必须进行套接字动态链接库的装载,但是如果你错过了向导中的选项,而是自己手动添加,如果不了解情况,导致程序运行失败. //Socket功能初始化  if (!AfxSocketInit())  {   AfxMessageBox(IDP_SOCKETS_INIT_FAILED);   return FALSE BOOL CMyApp::InitInstance() { ............. ..................;  } 正确的初始

MFC下CSocket编程详解

MFC下CSocket编程详解 分类: C/C++2008-03-13 09:01 34465人阅读 评论(34) 收藏 举报 mfc编程socket服务器socketsstream MFC下CSocket编程详解: 1. 常用的函数和注意事项(详细的函数接口说明请查看MSDN): CSocket::Create 初始化(一般写服务器程序都不要用为好,用下面的 CSocket::Socket 初始化) CSocket::Socket初始化 CSocket::SetSockOpt 设置socket

2020 2.13 Zabbix 4.0 Docker 版本 图表乱码问题解决

Zabbix 4.0 Docker 版本 图表乱码问题解决 字体文件存放于镜像 zabbix-web-nginx-mysql 的 /usr/share/zabbix/assets/fonts/目录下. 找到window的字体文件 复制一份新字体到zabbix项目中 docker cp /tmp/consolab.ttf b82d5670d35d:/usr/share/zabbix/assets/fonts 进入容器 sudo docker exec -it b82d5670d35d /bin/b

解决Linux下乱码

1,设置Xshell编码为utf8 2,修改~/.bash_profile,添加 ? 1 export LANG=zh_CN.utf8 执行命令 ? 1 $source ~/.bash_profile 解决~ 解决Linux下乱码,布布扣,bubuko.com