BCG库的一个bug
作者:朱金灿
来源: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相关推荐
- bcg库使用心得两则
作者:朱金灿 来源:http://blog.csdn.net/clever101 最近帮同事解决了两个BCG库的使用问题,特记录下来. 一是在outlook风格停靠栏上创建对话框的做法.代码如下: C ...
- 关于bcg库记忆界面的问题及其解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事向我请教一个问题,说他使用BCG创建了一个停靠栏,之后把代码注释了,但是程序启动时总出现一个Debug Ass ...
- QQ超市模拟排配2D版1.13 (XNA4.0) (修正双格货架移动的一个bug和3-5地图)
抱歉,更新了一个地图-- 下载地址:(版本过期了,请下新版) 1.13:更新日期:2012-3-22 更新3店5口地图错误问题.启动程序前请手动删除旧版地图数据. 地址:C:\(我的文档路径)\Sav ...
- mycat1.5~1.6的一个bug
以下语句在mysql单库中执行正常: SELECT * FROM device WHERE devicetype='AMS.Monitoring.XlCloud.QKL8154.XLCloudDevi ...
- 从一个 bug 中延伸出 canvas 最大内存限制和浏览器渲染原理
本文作者:雨过天晴 https://zhuanlan.zhihu.com/p/540761999 前几天一个同事让我帮忙解决一个 bug,这个 bug 困扰他好几天了.这是一个 App 中的 Hybr ...
- 2023-05-29 用 fltk gui库编写一个打字练习程序
用 fltk gui库编写一个打字练习程序 前言 一.FLTK GUI 库 二.使用步骤 1.引入库 2.使用代码 总结 前言 给孩子练习键盘打字, 发现终端还是欠点意思, 研究了一下gui, 最终用 ...
- 一个bug管理软件:BugFree
一个bug管理软件:BugFree BugFree的发展目标:代替BugZilla和Mantis,成为最流行的Bug管理系统! 关于BugFree 作者:刘振飞 Email: liuzf at pku ...
- 001-你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决...
你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决 1.将问题提交到缺陷管理库里面进行备案. 2.要获取判断的依据和标准: 根据需求说明书.产品说明.设计文档等, ...
- 【总结】1519- 从一个 bug 中延伸出 canvas 最大内存限制和浏览器渲染原理
本文作者:雨过天晴 https://zhuanlan.zhihu.com/p/540761999 前几天一个同事让我帮忙解决一个 bug,这个 bug 困扰他好几天了.这是一个 App 中的 Hybr ...
最新文章
- AI从业者需要应用的10种深度学习方法
- 关于2020年第十五届全国大学生智能汽车竞赛山东赛区技术答辩的相关规则
- python 入门DAY1
- P1217 回文质数(打表)
- python123说句心里话的题_如何与回避型依恋的人谈恋爱?
- JVM年轻代参数:-Xmn、-XX:NewSize、-XX:MaxNewSize
- 2010年第一届蓝桥杯省赛 —— 第二题
- 蓝桥杯——快速排序(2018JavaB组第5题9分)
- 删掉SQL Server登录时登录名下拉列表框中的选项
- Python 之将小姐姐画在Excel上
- 无需插拔网线,解决一台电脑同时上内外网的难题
- 网络测速工具iperf使用介绍
- 金狮加密视频播放器破解翻录限制转换为mp4工具使用教程
- 英中繁简编程术语对照
- AMP—Rover移植
- 如何逼自己玩命学习,这几款超奶思的学习APP,让你爱上学习!
- 教你利用阿里云服务器搭建一个随时随地的Web IDE
- springboot 官网首页
- Lua中如何判读number是偶数还是奇数
- C++计算耗时方法(四种方法)
热门文章
- solidity 学习记录1
- 7-2 多分支表达-数据奇偶判断
- UVA1203 Argus
- JAVA获取GMT毫秒_关于java:如何获得GMT当前时间?
- 机器学习笔记(十)——这样推导SMO算法才易理解
- signature=1e5c9cadfac910b9cd55ef06301b71df,Vision-based process control in layered manufacturing
- linux 两个子进程,父进程创建两个子进程,在收到中断信号后杀死两个子进程
- 美颜神器——快速集成华为HMS ML Kit人脸检测实现大眼瘦脸
- 舒米,又夺冠了。。。。。
- Eureqa Formulize从实验数据中自动筛选函数关系的symbolic regression符号回归软件