MFC(文本编程,孙鑫C++第五讲笔记整理)

以下是第五讲的主要内容(文本输入输出,要先设置光标位置,然后再输出文本)

创建图象插入符

为成员变量!!!

CreateCaret(&bitmap);

ShowCaret();

TEXTMETRIC tm;//字体结构体

dc.GetTextMetrics(&tm);//

m_ptOrigin.y+=tm.tmHeight;//获得字体高度。

3.路径层的概念:有两种方法创建路径层:

pDC->BeginPath();

pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);

pDC->EndPath();

pDC->SelectClipPath(RGN_DIFF);

CSize sz=pDC->GetTextExtent(str);

CRgn rn;

rn.CreateRectRgn(0,50,sz.cx,sz.cy);

pDC->SelectClipRgn(&rn,RGN_DIFF);

路径层有什么作用?可以保护我们先前的文本或者图像不被后来画的覆盖。

上输入文字的步骤。

CFont font;//创建字体对象

设置

TEXTMETRIC tm;//创建字体信息对象

dc.GetTextMetrics(&tm);//获得当前字体信息

if(0x0d==nChar)//处理回车键

{

m_strLine.Empty();

m_ptOrigin.y+=tm.tmHeight;

}

else if(0x08==nChar)//处理退格键

{

COLORREF clr=dc.SetTextColor(dc.GetBkColor());

dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);

m_strLine=m_strLine.Left(m_strLine.GetLength()-1);

dc.SetTextColor(clr);

}

else

{

m_strLine+=nChar;

}

CSize sz=dc.GetTextExtent(m_strLine); CPoint pt;//处理光标的位置

pt.x=m_ptOrigin.x+sz.cx;

pt.y=m_ptOrigin.y; SetCaretPos(pt);

dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strLine);//输出字体 dc.SelectObject(pOldFont);//将原先的字体选择回去。有了CEditView和CRichEditView之后,就没有那么辛苦了。

变色的步骤。

)设置定时器

)在定时器中加入代码

具体代码如下:(编完一个之后,注释掉前面的,继续编)

我这里把第五讲分成两个程序,把最后一个卡拉OK输出单独出来了,怕太混乱了。

CXXView:

private:CBitmap cbitmap;CPoint m_orgpt;CString cstring;CPoint cppt;

位图:

人生就像是一场旅行,遇到的既有感人的,

MFC(文本编程,孙鑫C++第五讲笔记整理)

相关文章:

你感兴趣的文章:

标签云: