文本编程

    设备上下文又叫设备描述表或者设备环境,它用于应用程序和物理硬件(如显示器,打印机)的交互,是一种数据结构,其内容一般由相关函数通过设备上下文句柄来访问,而这些相关函数一般封装在CDC类中。CDC类与绘图,填充,字体等有关

相关函数如下:

CWnd::CreateSolidCaret :创建字符插入符,其中参数的的宽和高由设备描述表中字体的宽和高决定

CWnd::CreateCaret:创建图形插入符,其中参数表示的是位图资源

CBitmap::LoadBitmap:用来初始化CBitmap对象的成员函数,注意CBitmap的对象的作用域,要定义成全局的,要是定义成函数里的一个局部变量,当函数结束时,CBitmap的资源会被释放,位图会显示不出来

CWnd::ShowCaret:显示插入符,因为创建的插入符会自动隐藏

TEXTMETRIC:关于字体信息的结构体

CDC::GetTextMetrics(指向TEXTMETRIC的结构体变量):获取dc(设备描述表)中字符度量的一些信息

CDC::GetTextExtent:获取一行文本的高度和宽度

CSrting::LoadSring将一个字符串系统资源装载到已有的字符串对象当中

       例如:CString str;

                     str.LoadString(字符串资源Id);

       也可这样对字符串对象赋值:str(字符串)或者str=字符串(因为在String类中对=运算符进行了重载,所以可以直接对字符串对象赋值)

CDC::BeginPath CDC::EndPath:可以用两个CDC函数创建和关闭一个路径层,在MFC路径层就是在设备描述表中独立出一块区域,主要用于窗口的绘制。

CDC::SelectClipPath:选择当前的路径层作为设备描述表的一个剪切区域,用指定的模式结合新的剪切区域和任何已存在的剪切区域。

SetCaretPos:设置插入符的位置。

CWnd::SetTimer:设置一个计时器(注意要设置计时器标识,以区别WM_TIMER是哪个计时器产生的消息),当计时器达到设置的时间时会产生一个WM_TIMER消息。

CDC::DrawText :能够更平滑的显示字体,让字体按着像素来显示,即不是以字体为单位来显示的,这是与TextOut的区别。

 

Remarks:

1、窗口创建成功后会产生一个WM_CREATE消息,而Caret(插入符)就是在窗口创建后创建的,所以我们可以在CxxView视图类中创建一个WM_CREATE消息处理函数,在此函数中创建caret,就达到了创建窗口后在窗口上显示插入符的目的。

2、当窗口移动或者改变窗口的大小时,窗口会进行重绘(系统会调用CxxView视图类的OnDraw函数进行重绘),要想让窗体上的字体一直显示,则可以在OnDraw函数内写字(TextOut)即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值