资源描述:
《孙鑫vc学习笔记第5课》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、孙鑫VC学习笔记第5课第5课1.CWnd::CreateSolidCaret创建插入符,ShowCaret()显示插入符。GetTextMetrics(),获得当前字体的一些信息。CWnd::CreateCaret()创建图象插入符bitmap.LoadBitmap(IDB_BITMAP1);//此处的bitmap为成员变量!!!CreateCaret(&bitmap);ShowCaret();TEXTMETRICtm;//字体结构体dc.GetTextMetrics(&tm);//m_ptOrigin.y+=tm.
2、tmHeight;//获得字体高度。2.VC中CString::LoadString(ID号),比较方便。3.路径层的概念:有两种方法创建路径层:(1)pDC->BeginPath();pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);pDC->EndPath();pDC->SelectClipPath(RGN_DIFF);(2)CSizesz=pDC->GetTextExtent(str);CRgnrn;rn.CreateRectRgn(0,50,sz.cx,sz.cy);pDC->S
3、electClipRgn(&rn,RGN_DIFF);路径层有什么作用?可以保护我们先前的文本或者图像不被后来画的覆盖。4.在View上输入文字的步骤。CFontfont;//创建字体对象font.CreatePointFont(300,"华文行楷",NULL);//设置CFont*pOldFont=dc.SelectObject(&font);//将字体选择到DC中TEXTMETRICtm;//创建字体信息对象dc.GetTextMetrics(&tm);//获得当前字体信息if(0x0d==nChar)//处理回
4、车键{m_strLine.Empty();m_ptOrigin.y+=tm.tmHeight;}elseif(0x08==nChar)//处理退格键{COLORREFclr=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
5、;}CSizesz=dc.GetTextExtent(m_strLine);CPointpt;//处理光标的位置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);//将原先的字体选择回去。5.模拟卡啦OK变色的步骤。(1)设置定时器(2)在定时器中加入如下代码//DELm_nWidth+=5;/
6、/此为view的成员变量,初始值为0//DEL//DEL//DELCClientDCdc(this);//DELTEXTMETRICtm;//DELdc.GetTextMetrics(&tm);//DELCRectrect;//DELrect.left=0;//DELrect.top=200;//DELrect.right=m_nWidth;//DELrect.bottom=rect.top+tm.tmHeight;//此长方形的长度随着定时器的触发,逐渐增大//DEL//DELdc.SetTextColor(RGB
7、(255,0,0));//DELCStringstr;//DELstr.LoadString(IDS_WEIXIN);//DELdc.DrawText(str,rect,DT_LEFT);此函数的作用是将字符串输出到长方形中,但如果字符串的长度超过长方形的长度,多余的字符将被截断//DEL//DELrect.top=150;//DELrect.bottom=rect.top+tm.tmHeight;//DELdc.DrawText(str,rect,DT_RIGHT);//DEL//DELCSizesz=dc.Get
8、TextExtent(str);获得字符串的长度//DELif(m_nWidth>sz.cx)当长方形的长度大于字符串的长度后,将其重新归0//DEL{//DELm_nWidth=0;//DELdc.SetTextColor(RGB(0,255,0));//DELdc.TextOut(0,200,str);//DEL}//DEL//DELCVi