| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 1022 人关注过本帖
标题:DrawText函数关于字模变色超出范围的问题
收藏  订阅  推荐  打印 
c盘格式化
Rank: 1
等级:新手上路
帖子:16
积分:260
注册:2007-4-3
DrawText函数关于字模变色超出范围的问题

以下代码片断是在定时器响应函数中实现字模平滑变色效果,
void CTextView::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default


m_nWidth+=5;
CClientDC dc(this);
dc.TextOut(300,300,"打死那只猴子!!");
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);
CRect rect;
rect.left=300;
rect.top=300;
rect.right=m_nWidth;
rect.bottom=rect.top+tm.tmHeight;

dc.SetTextColor(RGB(255,0,0));
dc.DrawText("打死那只猴子!!",rect,DT_RIGHT);
CView::OnTimer(nIDEvent);
}
倒数第2行的dc.DrawText的最后一个参数如果设为DT_RIGHT的话(即从右边输出),输出结果为"...打打打打打打打打打打死那只猴子!!",而且不断的向后移动.如果改为DT_LEFT就输出正常的颜色过度结果:"打死那只猴子!!".
请问:什么使用DT_LEFT从左输出就正常,不会超出范围.而用DT_RIGHT的话(即从右边输出),结果会超出范围呢?


[此贴子已经被作者于2007-6-24 23:54:51编辑过]

搜索更多相关主题的帖子: 字模  DrawText  函数  rect  范围  
2007-6-24 23:53
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.353177 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved