Visual C++第03章 MFC基本应用程序的建立(10)
?Add Function?Edit Code 直接显示View.cpp文件的: CMyView::OnChar(UINT nChar,UINT nRepCnt,UINT nFlags) {
CMyDoc *pDoc=GetDocument(); //获取文档类首地址指针 ASSERT_VALID(pDoc); //测试指针 pDoc->str+=nChar; //读取键击
Invalidate(); //重绘视图,强制绘图 }
(4)显示文本
Invalidate()函数通过调用OnDraw()函数,强制程序重绘视图,故在View.cpp里再找到:
CMyView::OnDraw(CDC *pDC) { -------
pDC?TextOut(20,20,pDoc->str); }
? pDoc->str+=nChar; 相当于pDoc->str=pDoc->str+nChar; ? Draw函数是视图显示函数 (5)将文本居中
CWnd派生出CView,再由CView派生出CCenteredView类,使文本居中。 可使用CWnd的GetWindowRect()对象方法得到客户区的尺寸。
CRect类用于容纳矩形的尺寸和大小,我们把CRect对象的指针传递到 GetWindowRect()来获得视图的尺寸。 在OnDraw()里 (接上面程序做)
CRect rect; // CRect类用于容纳矩形的尺寸和大小 GetWindowRect(&rect);
int x=rect.Width()/2; //确定中心坐标x,y int y=rect.Height()/2;
CSize size=pDC->GetTextExtent(pDoc->str);//查明显示的文本串尺寸。
//使用CDC类(设备环境类)的GetTextExtent()来决定文本串将显示在
//客户区的尺寸。CSize类有2个重要的成员,cx和cy用于保留文本串//的尺寸。
x-=size.cx/2; y-=size.cy/2;
pDC->TextOut(x,y,pDoc->str); }
? x,y表示窗口新的左上角坐标 ? cx,cy表示窗口新的宽度和高度 ? RECT结构:
typedef struct tayRECT
{ LONG left; //左上角x坐标 LONG top; //左上角y坐标 LONG right; //右下角x坐标 LONG bottom;//右下角y坐标
}RECT; //CRect类用于容纳矩形的尺寸和大小
? SIZE结构://窗口大小 typedef struct tagSIZE
{ int cx; //当一个函数返回时的x范围 int cy; //当一个函数返回时的y范围 }SIZE;
注意:如果要显示带颜色的字,你做如下工作:
在View.h的public里写:COLORREF m_pColor; //定义颜色变量 在View.cpp的构造函数里写:m_pColor=RGB(255,0,0); //红色 在上面的pDC-->TextOut(x,y,pDoc->str);的前面加:
pDC->SetTextColor(m_pColor); //即可显示红色的字体
前面介绍了读取键盘的键击的编程过程,但这里不能回车换行,你想要实现 回车换行功能,说也奇怪,反倒什麽也不做,只是在建单文档(双文档)应用程 序时,到第6步(最后一步)停住,在这个界面的最下方Base class处下拉,找 到CEditView置好,再点Finish,之后直接运行,你在窗口上敲字符等后按回车 就行了,还能自动出现滚动轴。 例:处理鼠标
该程序的主要工作: (1) 处理鼠标消息
(2) 创建并使用插入点符号
(3) 使用Windows TEXTMETRIC结构 (4) 将鼠标消息连接到代码
鼠标可能产生相当多的消息,如:
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C