如果只是为了d出一个字符串显示,用:
AfxMessageBox(_T("A String"))如果是在已有对话框显示一个字符串,那么对话框增加一个静态框,修改静态框ID为IDC_STATIC1(不能不修改,否则无法显示),然后程序的任意对话框函数里面:
GetDlgItem(IDC_STATIC1)->SetWindowText(_T("A String"))首先在View 类的OnCreate函数中,1,创建和显示插入符的几种函数:
void CreateSolidCaret( int nWidth, int nHeight )//创建插入符
void CreateCaret( CBitmap* pBitmap )//创建位图插入符
void ShowCaret( )//显示插入符
void HideCaret( )//隐藏插入符
2、创建设备描述表
CClientDC dc(this)
//定义文本信息结构体变量
TEXTMETRIC tm
//获得设备描述表中的文本信息
dc.GetTextMetrics(&tm)
//根据字体大小,创建合适的插入符
CreateSolidCaret(tm.tmAveCharWidth / 8, tm.tmHeight)
ShowCaret()
4,获取某字符串的高度和宽度(区别字符串的长度,长度表示字符个数):
CDC::GetTextExtent
CSize GetTextExtent( LPCTSTR lpszString, int nCount ) const
CSize GetTextExtent( const CString&str ) const
5,路径层:
BOOL BeginPath( )//CDC中函数
//在这作图定义路径层剪切区域
BOOL EndPath( )
BOOL SelectClipPath( int nMode )//调用这个函数来使当前路径层剪切区域与新剪切区域进行互 *** 作。
//在这覆盖作图(包含前定义的路径层区域)定义新的剪切区域
6,关于文本字符串一些函数:
COLORREF GetBkColor( ) const//得到背景颜色
virtual COLORREF SetBkColor( COLORREF crColor )//设置背景颜色
BOOL SetTextBkColor( COLORREF cr )//设置文本背景颜色
virtual COLORREF SetTextColor( COLORREF crColor )//设置文本颜色
virtual BOOL TextOut( int x, int y, LPCTSTR lpszString, int nCount )//输出文本
BOOL TextOut( int x, int y, const CString&str )//在x,y所指定坐标处输出str
CString Left( int nCount ) const//得到字符串左边nCount个字符
int GetLength( ) const//得到字符串长度strlen()
7,字体CFont::CFont
CFont( )//构造函数
//Constructs a CFont object. The resulting object must be initialized with CreateFont, CreateFontIndirect, CreatePointFont, or CreatePointFontIndirect before it can be used.
选用字体事例代码组:
CClientDC dc(this)
CFont font//构造字体对象
font.CreatePointFont(300,"华文行楷",NULL)//初始化字体对象,与字体资源相关联
CFont *pOldFont=dc.SelectObject(&font)//将新字体选入DC
...
dc.SelectObject(pOldFont)//恢复原字体
所以在输出字符之前要做一大堆工作,获取字符一大堆信息,包括字符的大小,字体,颜色,位置和光标的关系,还有空格键,退格键,回车键的处理,还有涉及到文字的路径层,最后才能用TextOut()输出字符,以上的几个步骤是必须的,可能还有一些细节我忘了,具体参考孙鑫老师的视频,有具体讲解,我就不多说了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)