孙鑫Lesson5 text
来源:互联网 发布:常德市优化办内设机构 编辑:程序博客网 时间:2024/06/06 03:14
此节主要是创建插入符,并获取字体大小创建
void CTEXTView::OnDraw(CDC* pDC){CTEXTDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;//CString str("this is test app");CString str;str="this is test app";pDC->TextOut(50,50,str);CSize sz=pDC->GetTextExtent(str);str.LoadString(IDS_XXX);pDC->TextOut(100,100,str);pDC->BeginPath();pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);pDC->EndPath();pDC->SelectClipPath(RGN_DIFF);for(int i=0;i<300;i+=10){pDC->MoveTo(0,i);pDC->LineTo(300,i);pDC->MoveTo(i,0);pDC->LineTo(i,300);}}
int CTEXTView::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CView::OnCreate(lpCreateStruct) == -1)return -1;// TODO: 在此添加您专用的创建代码CClientDC dc(this);TEXTMETRIC tm;dc.GetTextMetrics(&tm);//CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);bitmap.LoadBitmap(IDB_BITMAP1);CreateCaret(&bitmap);ShowCaret();SetTimer(1,100,NULL);return 0;}
void CTEXTView::OnTimer(UINT_PTR nIDEvent){// TODO: 在此添加消息处理程序代码和/或调用默认值m_nWidth+=5;CClientDC dc(this);TEXTMETRIC tm;dc.GetTextMetrics(&tm);CRect rect;rect.left=0;rect.top=200;rect.right=m_nWidth;rect.bottom=rect.top+tm.tmHeight;dc.SetTextColor(RGB(255,0,0));CString str;str.LoadStringA(IDS_XXX);dc.DrawText(str,rect,DT_LEFT);rect.top=150;rect.bottom=rect.top+tm.tmHeight;dc.DrawText(str,rect,DT_RIGHT);CSize sz=dc.GetTextExtent(str);if(m_nWidth>sz.cx){m_nWidth=0;dc.SetTextColor(RGB(0,255,0));dc.TextOutA(0,200,str);}CView::OnTimer(nIDEvent);}
void CTEXTView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags){// TODO: 在此添加消息处理程序代码和/或调用默认值CClientDC dc(this);CFont font;font.CreatePointFont(300,"华文行楷",NULL);CFont* pOldFont=dc.SelectObject(&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+=(TCHAR)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);CView::OnChar(nChar, nRepCnt, nFlags);}void CTEXTView::OnLButtonDown(UINT nFlags, CPoint point){// TODO: 在此添加消息处理程序代码和/或调用默认值SetCaretPos(point);m_strLine.Empty();m_ptOrigin=point;CView::OnLButtonDown(nFlags, point);}
0 0
- 孙鑫Lesson5 text
- lesson5
- Lesson5 文本编程 ---孙鑫VC++教程
- Windows程序设计__孙鑫C++Lesson5《文本操作》
- LogicJava---Lesson5
- csdnS2-lesson5
- Lesson5 Recursion
- lesson5~键盘
- lesson5:文本编辑
- lesson5-1
- lesson5-2
- Lesson5 接口
- Lesson5 接口
- 孙鑫VC++深入详解:Lesson5 Part1 文本插入符Caret,位图插入符,窗口重绘
- 孙鑫VC++深入详解:Lesson5 Part2 路径层 CDC::BeginPath,BeginPath
- 孙鑫VC++深入详解:Lesson5 Part3 文字输入: 处理回车键,空格键,CFont的使用
- 孙鑫VC++深入详解:Lesson5 Part4 屏幕字符串滚动输出,DrawText,SetTimer,WM_Timer消息
- Lesson5:文本编程
- nodejs中express 入门小实例
- DirectX 因素:模拟合成器的仿真
- 深入剖析 OC 中的方法结构 (isa指针的指向,以及元类的概念等)
- HDU 5289 Assignment [RMQ区间查询+二分搜索]
- VMware虚拟机与window共享目录
- 孙鑫Lesson5 text
- 给你一个:驱动程序A,数据源名称为B,用户名称为C,密码为D,数据库表为T,请用JDBC检索出表T的所有数据
- tjut 4635
- TCP的拥塞控制
- excel文件如何转换成pdf的格式
- 设计模式
- 338. Counting Bits [medium] (Python)
- 神秘的 isa 指针
- 在N个数中找出出现奇数次的数