欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 程序设计 >> Visual C教程 >> VC.NET教程 >> 教程正文

  没有公告

教程: VisualC .NET编程讲座之三 更多...
教程: VisualC .NET编程讲座之三

Out和DrawText,分别用于不同的场合。如果想要绘制的文本需要支持Tab符,那么采用TabbedTextOut函数,可以使绘制出来的文本效果更佳;如果要在一个矩形区域内绘制多行文本,那么采用DrawText函数,会更富于效率;如果文本和图形结合紧密,字符间隔不等,并要求有背景颜色或矩形裁剪特性,那么ExtTextOut函数就将是最好的选择。如果没有什么特殊要求,那使用TextOut函数就显得简练了。在本例中,我们使用TabbedTextOut函数来绘制文本,它的函数原型如下:

CSize TabbedTextOut( int x, int y, const CString& str,
int nTabPositions, LPINT lpnTabStopPositions, int nTabOrigin );

  该函数用当前字体在指定位置 (x,y) 处显示一个由str指定的文本,且根据指定的制表停止位设置相应字符位置。函数成功时返回文本的大小。参数中,nTabPositions表示lpnTabStopPositions数组的大小,lpnTabStopPositions表示多个递增的停止位(逻辑坐标)的数组,nTabOrigin表示制表停止位x方向的起始点(逻辑坐标)。

  具体步骤如下:

  (1) 重新创建一个新的单文档应用程序项目Viewer,在向导的"生成的类"页面中将CViewerView的基类CView改成CScrollView。CScrollView类是一个用来提供自动滚动或缩放功能的视图结构。

  (2) 按文档数据的读操作,在CViewerDoc类中,添加保存文档数据的CStringArray类对象m_strContent,并添加相应的操作代码。

  (3) 文本内容的输出代码一般是添加在视图类的OnDraw函数中,但为了调用的方便,我们这里在视图类中添加一个成员函数DispContent。

  (4) 将解决方案管理器窗口切换到"类视图",展开所有的类,右击类名"CViewerView",从弹出的快捷菜单中选择"添加"->"添加函数",弹出"添加成员函数向导"对话框,在"返回类型"框中输入void,在"函数名"框中输入DispContent,在"参数类型"框中输入CDC*,在"参数名"框中输入pDC,然后单击"添加"按钮,结果如图14所示。单击"完成"按钮。


图14 添加成员函数DispContent

  (5) 在DispContent函数中添加如图15所示的代码。


图15 DispContent函数代码

  SetScrollSizes()是CScrollView类的成员函数,用来设置相应的坐标映射模式和逻辑滚动窗口的大小。所谓"逻辑滚动窗口",是在指定的坐标映射模式下的一个"虚拟窗口"。当虚拟窗口超过视图客户区(可称为"显示窗口")的大小时,视图客户区中就会自动出现滚动条,供用户滚动浏览。若虚拟窗口比显示窗口小,则视图客户区中不会出现滚动条。MM_TEXT是"文本"坐标映射模式。在该模式下,x坐标从左向右递增,y坐标自上而下递增,坐标以像素为单位,这也是MFC的默认坐标模式。

  (6) 在CViewerView::OnDraw函数添加DispContent调用代码,如图16所示的加框部分。OnDraw()是视图类中非常有用的一个函数,当应用程序中的窗口状态或大小发生改变时,系统均会调用此函数重新绘制视图窗口的客户区。因此,我们应该将一些图形绘制添加到此函数中。


图16 DispContent的调用

  (7) 运行程序,打开当前文件夹下的ReadMe.txt文件,结果如图17所示。


图17 文本绘制的结果

  评述:这种方法虽然较复杂一点,但是却能控制每行文本的行距,并可使用CDC类的其他文本和文字处理函数,使得文本表现更具丰富力。另外,由于绘制的代码过程是添加在OnDraw中,因此该方法能使默认的打印和打印预览功能有效。缺点是,显示的速度表现欠佳。

  结束语

  本讲中,通过MFC的文档读过程讨论了文档的读操作及不同的文档数据显示方法和技巧,在下一讲中,我们将通过菜单和工具栏来改变文本显示的字体和颜色,并讨论它们与状态栏这三者之间的相互关系。


上一页  [1] [2] 

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    access基础知识
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网