| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2526 人关注过本帖
标题:DrawText函数关于字模变色超出范围的问题
只看楼主 加入收藏
c盘格式化
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:0 
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-06-24 23:53
快速回复:DrawText函数关于字模变色超出范围的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021310 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved