作者:朱金灿

来源:http://blog.csdn.net/clever101

同事在使用BCG库图表组件(BCG库的版本为BCGCBPRO1510)时遇到一个问题,就是图表标题总是出现乱码,具体如下图:

我查看了一下BCG库的源码,发现BCG库的绘制接口是采用D2D的接口。D2D是微软推出的一个二维绘制的com组件,只支持unicode字符,非unicode字符需要转换为unicode字符。其中绘制标题字符的代码如下:

USES_CONVERSION;
CStringW wStr = T2CW(strText); // strText为图表标题
m_pRenderTarget->DrawText(wStr,strText.GetLength(),pWriteTextFormat, &rectD2D, pD2DBrush, options);

这段代码是有问题的,问题在于strText转化为unicode字符wStr后,strText的长度并不等于wStr,因此DrawText绘制wStr使用的却是strText的长度,这样是明显不对的,会出现读取内存越界从而读到的是乱码。还有一个隐含的错误是假如strText本身就是unicode字符,那么它就不需要转换的。因此需要把这句代码作如下修改:

#ifndef UNICODE USES_CONVERSION;
CStringW wStr = T2CW(strText);
m_pRenderTarget->DrawText(wStr,wStr.GetLength(),pWriteTextFormat, &rectD2D, pD2DBrush, options);#elsem_pRenderTarget->DrawText(strText,strText.GetLength(),pWriteTextFormat, &rectD2D, pD2DBrush, options);#endif

BCG库的一个bug相关推荐

  1. bcg库使用心得两则

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近帮同事解决了两个BCG库的使用问题,特记录下来. 一是在outlook风格停靠栏上创建对话框的做法.代码如下: C ...

  2. 关于bcg库记忆界面的问题及其解决办法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事向我请教一个问题,说他使用BCG创建了一个停靠栏,之后把代码注释了,但是程序启动时总出现一个Debug Ass ...

  3. QQ超市模拟排配2D版1.13 (XNA4.0) (修正双格货架移动的一个bug和3-5地图)

    抱歉,更新了一个地图-- 下载地址:(版本过期了,请下新版) 1.13:更新日期:2012-3-22 更新3店5口地图错误问题.启动程序前请手动删除旧版地图数据. 地址:C:\(我的文档路径)\Sav ...

  4. mycat1.5~1.6的一个bug

    以下语句在mysql单库中执行正常: SELECT * FROM device WHERE devicetype='AMS.Monitoring.XlCloud.QKL8154.XLCloudDevi ...

  5. 从一个 bug 中延伸出 canvas 最大内存限制和浏览器渲染原理

    本文作者:雨过天晴 https://zhuanlan.zhihu.com/p/540761999 前几天一个同事让我帮忙解决一个 bug,这个 bug 困扰他好几天了.这是一个 App 中的 Hybr ...

  6. 2023-05-29 用 fltk gui库编写一个打字练习程序

    用 fltk gui库编写一个打字练习程序 前言 一.FLTK GUI 库 二.使用步骤 1.引入库 2.使用代码 总结 前言 给孩子练习键盘打字, 发现终端还是欠点意思, 研究了一下gui, 最终用 ...

  7. 一个bug管理软件:BugFree

    一个bug管理软件:BugFree BugFree的发展目标:代替BugZilla和Mantis,成为最流行的Bug管理系统! 关于BugFree 作者:刘振飞 Email: liuzf at pku ...

  8. 001-你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决...

    你在测试中发现了一个  bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决 1.将问题提交到缺陷管理库里面进行备案. 2.要获取判断的依据和标准: 根据需求说明书.产品说明.设计文档等, ...

  9. 【总结】1519- 从一个 bug 中延伸出 canvas 最大内存限制和浏览器渲染原理

    本文作者:雨过天晴 https://zhuanlan.zhihu.com/p/540761999 前几天一个同事让我帮忙解决一个 bug,这个 bug 困扰他好几天了.这是一个 App 中的 Hybr ...

最新文章

  1. AI从业者需要应用的10种深度学习方法
  2. 关于2020年第十五届全国大学生智能汽车竞赛山东赛区技术答辩的相关规则
  3. python 入门DAY1
  4. P1217 回文质数(打表)
  5. python123说句心里话的题_如何与回避型依恋的人谈恋爱?
  6. JVM年轻代参数:-Xmn、-XX:NewSize、-XX:MaxNewSize
  7. 2010年第一届蓝桥杯省赛 —— 第二题
  8. 蓝桥杯——快速排序(2018JavaB组第5题9分)
  9. 删掉SQL Server登录时登录名下拉列表框中的选项
  10. Python 之将小姐姐画在Excel上
  11. 无需插拔网线,解决一台电脑同时上内外网的难题
  12. 网络测速工具iperf使用介绍
  13. 金狮加密视频播放器破解翻录限制转换为mp4工具使用教程
  14. 英中繁简编程术语对照
  15. AMP—Rover移植
  16. 如何逼自己玩命学习,这几款超奶思的学习APP,让你爱上学习!
  17. 教你利用阿里云服务器搭建一个随时随地的Web IDE
  18. springboot 官网首页
  19. Lua中如何判读number是偶数还是奇数
  20. C++计算耗时方法(四种方法)

热门文章

  1. solidity 学习记录1
  2. 7-2 多分支表达-数据奇偶判断
  3. UVA1203 Argus
  4. JAVA获取GMT毫秒_关于java:如何获得GMT当前时间?
  5. 机器学习笔记(十)——这样推导SMO算法才易理解
  6. signature=1e5c9cadfac910b9cd55ef06301b71df,Vision-based process control in layered manufacturing
  7. linux 两个子进程,父进程创建两个子进程,在收到中断信号后杀死两个子进程
  8. 美颜神器——快速集成华为HMS ML Kit人脸检测实现大眼瘦脸
  9. 舒米,又夺冠了。。。。。
  10. Eureqa Formulize从实验数据中自动筛选函数关系的symbolic regression符号回归软件