现在的位置: 首页 > 综合 > 正文

MFC 文本编程 — 总结

2017年12月03日 ⁄ 综合 ⁄ 共 1350字 ⁄ 字号 评论关闭

如何创建插入符

1.可以利用CWnd 类的CreateSolidCaret 函数来完成创建操作。

但这样创建的插入符刚开始是隐藏的,需用ShowCaret 来显示。

void CreateSolidCaret( int nWidth, int nHeight );     // 创建插入符

void ShowCaret( );                                                     // 显示插入符

void HideCaret( );                                                      // 隐藏插入符

 

2.创建插入符时,需指定其宽度同高度,这需求获取当前文本字体属性信息才可确定。

我们可通过CDC 类的GetTextMetrics函数来取得设备环境中的字体度量。

BOOL GetTextMetrics(LPTEXTMETRIC lpMetrics ) const;

 

其中,TEXTMETRIC 结构用于存储字体度量信息。

 

3.创建图形插入符

先创建一个位图资源,再定义一个CBitmap类实例并加载之前已创建的位图资源

再利用CWnd 类的CreateCaret函数来创建图形播放符。

void CreateCaret( CBitmap* pBitmap );

 

4.设置插入符位置

static void PASCAL SetCaretPos( POINTpoint );

 

窗口重绘

1. 如何定义字符串对象

定义一个CString 对象,并用字符串来初始化。

CStirng 类的构造函数

CString( );                                                  // 缺省构造函数
CString( const CString& stringSrc );        // 复制构造函数
CString( TCHAR ch, int nRepeat = 1 );     // 用字符初始化
CString( LPCTSTR lpch, int nLength );     // 用字符串前nLength 个字符初始化
CString( LPCSTR lpsz );                            // 用字符串初始化
CString( LPCWSTR lpsz );                         // 用宽字符串初始化
CString( const unsigned char* psz ); :   // 用字符串初始化

也可用LoadString函数来加载一个已定义的字符串资源

BOOL   LoadString(UINT    nID);

 

路径层

1.通过CDC 类的GetTextExtent 函数,可获得一个字符串在当前设备环境中显示所需的长度同宽度

CSize GetTextExtent( LPCTSTR lpszString, int nCount ) const;
CSize GetTextExtent( const CString& str ) const;

 

2.设置路径层

通过CDC类的成员函数 BeginPath 同 EndPath 函数来设置

 

3.设置裁剪模式

经过这样的设置后,可将当前路径区域与非路径区域区分开来

BOOL SelectClipPath( int nMode );

 

两个实例: 字符输入,字幕变色

 

 

 

 

 

抱歉!评论已关闭.