创建一个单文档应用程序ppt课件

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
例1 坐标映射
[例Ex_Draw] 通过设置窗口和视口大小来改变显示的比例
(1) 用MFC AppWizard创建一个默认的单文档应用程序Ex_Draw。
(2) 在CEx_DrawView::OnDraw函数中添加下列代码:
void CEx_DrawView::OnDraw(CDC* pDC)
{
图5 MFC AppWizard的“Step 5”对话框
3.3.2 创建一个单文档应用程序
7. 第六步 保留默认选项,单击[下一步]按钮进行下一步,出现如图6所示的对话框。在 这里,用户可以对MFC AppWizard提供的默认类名、基类名、各个源文件名进 行修改。 单击[完成]按钮出现一个信息对话框,显示出用户在前面几个步骤中作出的选择 内容,单击[确定]按钮系统开始创建,并又回到了Visual C++ 6.0的主界面。 8.编译并运行 到这里为止,用户虽然没有编写任何程序代码,但MFC AppWizard已经根据用 户的选择பைடு நூலகம்容自动生成基本的应用程序框架。单击编译工具栏上的运行工具按钮 “”或按快捷键Ctrl+F5,系统开始编连并运行生成的单文档应用程序可执行文
图2 MFC AppWizard的“Step 1”对话框
图2 MFC AppWizard的“Step 2”对话框
4.第三步 单击[下一个]按钮进入下一步,出现如图3所示的对话框。允许用户在程序中加入复 合文档、自动化、ActiveX控件的支持。 5. 第四步 单击[下一个]按钮进入下一步,出现如图4所示的对话框,对话框的前几项依次确定 对浮动工具条、打印与预览以及通信等特性的支持。
CEx_DrawDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rectClient;
GetClientRect(rectClient);
// 获得当前窗口的客户区大小
pDC->SetMapMode(MM_ANISOTROPIC); // 设置MM_ANISOTROPIC映 射模式
CPen pen;
// 定义一个画笔变量
pen.CreatePen( PS_SOLID, 2, RGB(255,0,0)); // 创建红色画笔
// 将此画笔选入当前设备环境并保存原来的画笔
CPen* pOldPen = pDC->SelectObject( &pen);// 用此画笔绘制直线
pDC->MoveTo(100,100);
CString s; s.Format("绘制各种图形");pDC->TextOut(50,50,s); //文字输出
// … 其他绘图函数
pDC->SelectObject( pOldPen ); pDC->SelectObject( pOldBrush); }
// 恢复设备环境中原来的画笔 // 恢复设备环境中原来的画笔
件 Ex_SDIHello.exe,运行结果如图7所示。
标题栏 工具栏
菜单栏
图6 MFC AppWizard的“Step 6”对话框
文档窗 口
图7 Ex_SDIHello运行结果
状态栏
• VC++所编写的Windows图形应用程序通 常是在视图类中通过OnDraw函数中添加绘 图代码完成图形的生成。OnDraw函数是 CView类中的一个虚拟成员函数,每当窗 口需重绘时应用程序框架会调用它。
图3 MFC AppWizard的“Step 3”对话框
图4 MFC AppWizard的“Step 4”对话框
3.3.2 创建一个单文档应用程序
6. 第五步 保留以上默认值,单击[下一个]按钮进入下一步。弹出如图5所示的对话框,这里出现三 个方面的选项,供用户来选择: (1) 应用程序的主窗口是MFC标准风格还是窗口左边有切分窗口的浏览器风格; (2) 在源文件中是否加入注释用来引导用户编写程序代码; (3) 使用动态链接库还是静态链接库。
创建一个单文档应用程序
用MFC AppWizard(MFC应用程序向导)可以方便地创建一个通用的Windows单文档应用程 序,其步骤如下。 1. 开始 选择“文件”→“新建”菜单,在弹出的“新建”对话框中,可以看到工程标签页面中,显
示出一 系列的应用程序项目类型;选择MFC AppWizard(exe)的项目类型(该类型用于创建可执行 的Windows应用程序),将项目工作文件夹定位在“D:\Visual C++ 6.0程序”,并在工程编辑 框中输入项目名Ex_SDIHello,结果如图1所示。
pDC->Ellipse(CRect(-500,-500,500,500)); }
例2 各种图形绘制
void CEx_SDIHelloView::OnDraw(CDC* pDC)
{ CEx_SDIHelloDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
图1 MFC AppWizard的“新建”对话框
2. 第一步 单击[确定]按钮,出现如图1所示的对话框,进行下列选择: (1)从应用程序类型单个文档(SDI)、多重文档(MDI)和基本对话框(基于对话框的 应用程序)中选择“单个文档”。 (2) 决定应用程序中是否需要MFC的文档视图(“文档/查看体系结构支持”)结构的 支持。若不选定此项,则程序中的磁盘文件的打开、保存以及文档和视图的相互 作用等功能需要用户来实现,且将跳过Step 2~Step 5,直接弹出“Step 6”对话 框。一般情况下,应选中此项。 (3) 选择资源所使用的语言,这里是“中文[中国]”。 3.第二步 单击[下一个]按钮,出现如图2所示的对话框,让用户选择程序中是否加入数据 库的支持(有关数据库的内容将在以后的章节中介绍)。
pDC->SetWindowExt(1000,1000);
// 设置窗口范围
pDC->SetViewportExt(rectClient.right,-rectClient.bottom); 口范围
// 设置视
pDC->SetViewportOrg(rectClient.right/2,rectClient.bottom/2);// 设置视口原 点
下面的OnDraw函数是由AppWizard直接生成的:
void CEx_SDIHelloView::OnDraw(CDC* pDC)
{ CEx_SDIHelloDoc* pDoc = GetDocument();//获 取当前文档指针
ASSERT_VALID(pDoc);// 检查指针是否为空
// TODO: add draw code for native data here //下面可添加自己的程序代码
pDC->LineTo(700,400);
CBrush brush; // 定义一个画刷变量 brush.CreateSolidBrush(RGB(0,255,0));// 创建绿色画刷
CBrush* pOldBrush =pDC->SelectObject(&brush);
pDC->Rectangle(200,200,500,500);//画矩形 pDC->Ellipse(600,200,700,500);//画椭圆
画笔
相关文档
最新文档