文本输出

文本输出
1:在指定区域输出文本
1:使用TextOut(int x,int y,const CString& str);方法
2:使用DrawText(const CString&str,LPRECT lpRect,UINT nFormat)方法在
指定区域绘图
lRect:区域对象
nFormat:格式 常用DT_CENTER(水平居中)DT_LEFT(居左)DT_RIGHT
DT_WORD_ELLIPSIS无法完全显示时,用省略号
示例::
else
{
CDC *p=GetDC(); //获取设备上下文的指针
CString s="I am the first";
CRect rect(20,20,200,100);//设置区域
p->DrawText(s,rect,DT_CENTER);
s="自然有其发展规律ooooo";
rect.DeflateRect(30,0);//减小框度
rect.OffsetRect(0,80);//矩形向下平移
p->DrawText(s,rect,DT_LEFT|DT_WORD_ELLIPSIS);

CDialog::OnPaint();
}

2:设置文本颜色,采用CDC对象的SetTextColor()方法,
如pDC->SetTextColr(RGB(255,0,0));
3:设置字体
需要创建字体,两种方法

1:CreateFont(),该方法参数很多,需要参考

2:CreatePointFont(int nPointSize, LPCTSTR lpszFACEname,CDC *p=NULL)//该方法参数少
其中 nPointSize表示字体大小,
lpszFACEname:表示字体名称
p表示设备上下文的指针,如果是NULL,将以屏幕的设备上下文作为转换依据

4:在通道中输出文本
主要是CDC类中提供的几个通道函数
BeginPath()打开通道
EndPath()关闭通道
StrokePath()用画笔绘制路径
实例::
else
{
CPen pen(PS_SOLID,2,RGB(255,0,100));//创建一个画笔
CDC *p=GetDC();
p->SelectObject(&pen); //选中画笔
p->BeginPath();//打开一个通道
p->SetBkMode(TRANSPARENT); //设置相应的模式
CFont *m=p->SelectObject(&m_font); //选中创建的字体
p->TextOut(60,100,"慢而稳,赛必胜");
p->EndPath(); //关闭通道
p->StrokePath();//用当前的画笔绘制路径
pen.DeleteObject();
p->SelectObject(m);
CDialog::OnPaint();
}

5在图像背景上输出透明文本
调用CDC的int SetBkMode(int nbBkMode)方法设置设备上下文的背景模式
nbBkMode=TRANSPARENT表示透明
nbBkMode=OPAQUE表示已当前的背景颜色填充背景

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值