MFC文本处理基础
2012-01-26 08:38
190 查看
CWnd::CreateSolidCaret BOOL CreateSolidCaret( int nWidth, int nHeight ); CWindow::CreateCaret BOOL CreateCaret( HBITMAP pBitmap ); CDC::GetTextMetrics BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const; CDC::GetTextExtent CSize GetTextExtent( const CString& str ) const; CWnd::ShowCaret void ShowCaret( ); CDC::TextOut BOOL TextOut( int x, int y, const CString& str ); CDC::DrawText int DrawText( const CString& str, LPRECT lpRect, UINT nFormat ); CDC::GetTextExtent CSize GetTextExtent( const CString& str ) const; CDC::BeginPath BOOL BeginPath( ); CDC::EndPath BOOL EndPath( ); CDC::SelectClipPath BOOL SelectClipPath( int nMode );
//demo1(在视图类的OnCreate()中添加如下代码): //创建实心插入符 CClientDC dc(this); TEXTMETRIC mt; dc.GetTextMetrics(&mt); //获取当前字体信息 CreateSolidCaret(mt.tmAveCharWidth/8,mt.tmHeight);//创建实心光标,参数为宽度和高度 ShowCaret();//在被创建之后,插字符是隐藏的。要显示插字符,必须调用ShowCaret成员函数。 //demo2(在视图类的OnCreate()中添加如下代码): //创建位图插入符 CBitmap *bitmap = new CBitmap(); bitmap->LoadBitmap(IDB_BITMAP1);//插入符是一个位图 CreateCaret(bitmap); ShowCaret(); //demo3(在视图类中的OnDraw()中添加如下代码) //显示文本 CString s("MFC程序设计"); CString str; str.LoadString(IDS_MFC);//从资源中调入字符串 pDC->TextOut(50,50,s); pDC->TextOut(50,100,str); //demo4(创建一个定时器,在OnTimer()中添加如下代码) //渐变显示文本 m_width += 5; //m_width为视图类的成员变量 CClientDC dc(this); TEXTMETRIC tm; dc.GetTextMetrics(&tm); CRect rect;//构造矩形 rect.left = 0; rect.top = 200; rect.right = m_width; rect.bottom = rect.top+tm.tmHeight; dc.SetTextColor(RGB(255,0,0)); CString str; str.LoadString(IDS_MFC); dc.DrawText(str, &rect,DT_LEFT); //demo5(在视图类的OnCreate()中添加如下代码) //选择当前的路径作为设备环境的一个剪切区域。 CSize sz = pDC->GetTextExtent(str);//使用该函数获得所选字体中指定字符串的高度和宽度 pDC->BeginPath(); pDC->Rectangle(50,100,50+sz.cx,100+sz.cy); pDC->Ellipse(100,100,300,300); pDC->EndPath(); pDC->SelectClipPath(RGN_DIFF); for(int i=0; i<500; i+=10) { pDC->MoveTo(0,i); pDC->LineTo(500,i); pDC->MoveTo(i,0); pDC->LineTo(i,500); } //demo6(在Onchar()中添加如下代码) //响应回车和退格键 if(0x0d==nChar)//响应回车键 { //... } else if(0x08 == nChar)//响应退格键 { COLORREF clr; clr = dc.SetTextColor(dc.GetBkColor()); dc.TextOut(m_point.x, m_point.y, m_strLine); m_strLine = m_strLine.Left(m_strLine.GetLength()-1);//去掉最后一个字符 dc.SetTextColor(clr); } else { //... }
相关文章推荐
- Linux 基础命令(五)—— 文本处理三剑客之grep
- mfc如何改变静态文本框字体大小及mfc按钮问题用CButtonST进行图形按钮处理
- 【Python基础】11、文本处理与IO深入理解
- RHCE课程-RH033Linux基础笔记五之常用文本处理命令、输入输出重定向、管道
- Stanford NLP 学习笔记2:文本处理基础(text processing)
- 1、Linux文本处理基础命令
- c++ 文本处理基础函数
- [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理
- Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
- 用MFC写文本文档的编辑字处理程序
- Linux基础 ------- 文本处理利器sed
- 用python处理文本,本地文件系统以及使用数据库的知识基础
- MFC基础之字体和文本
- 文本处理三剑客之-sed基础用法
- Python文本处理nltk基础
- linux基础之文本处理工具
- coursera NLP学习笔记之week1课程介绍&基础的文本处理
- [Python]基础语法(二)文本处理函数
- Python 基础 - 对文本的处理
- shell文本处理基础