1、Visual C+ 简介,VC+集成开发环境(IDE),菜单栏,工具栏,工作区,输出窗口,编辑区,工作区,类似于资源管理器,编辑区,输出窗口,输出编译过程及结果 输出搜索结果 输出debug过程中的变量值,菜单栏(Menu Bar),一些细节问题,添加消息处理代码 编译连接和运行 Visual C+6.0的文件说明,Visual C+6.0的文件说明,.dsw 文件: 工作空间文件,一个工作空间可以包括几个工程文件 .dsp 工程文件 .opt 是工作空间文件的配置文件 .clw类和资源信息的文件 .rc 资源文件:包含位图,菜单之类的资源Debug和Release文件夹 exe,dll,以及
2、lib文件,组建(Compile)和运行(Run),组建按钮 Debug or Release Mode 运行按钮 Stop Debugging 按钮 调试窗口,Windows应用程序设计基础,Windows应用程序是按照“事件消息处理”非顺序的机制运行。当有某个事件(如单击鼠标、键盘输入和执行菜单命令等)发生时,Windows会根据具体的事件产生对应的消息,并发送到指定应用程序的消息队列;应用程序从消息队列中取出消息,并根据不同的消息进行不同的处理。,MFC应用程序框架,MFC将windows API函数进行分类封装,大大简化了编程的难度。,使用AppWizard创建MFC应用程序框架,MF
3、C应用程序框架说明,CWinAPP,自建的C*APP是CWinAPP的子类 而CWinAPP的三个最重要的成员函数:InitInstance() 初始化应用程序, Run函数处理消息循环,最后ExitInstance安排结束运行时的清除要求。,CTestView:CMainFrame,CMainFrame负责标题栏,菜单栏,工具栏及状态栏的生成。 因为CMainFrame是CTestView的父类,一般我们不修改CMainFrame类而更多的在CTestView中进行修改,CTestView和CTestDoc,CTestView显示数据 而数据来源于CTestDoc我们可以理解为CTestDo
4、c主要作用是读取数据(Input) 而CTestView是将数据处理后显示出来(Output),非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,非模态对话框和模态对话框,控件,作用:接收用户信号独立的可视化小部件 对话框与用户交互的重要桥梁 构成应用程序窗体的重要组成部分,常用控件,Static Text Picture Edit box Push Button Check box R
5、adio Button Group Box List Box Combo Box Scroll bar,使用控件,使用控件,使用控件,使用控件,消息的种类,键盘 鼠标 窗口 焦点 定时器 命令,来自键盘的消息,WM_CHAR WM_KEYDOWN WM_KEYUP,来自键盘的消息,来自键盘的消息,来自鼠标的消息,WM_MOUSEMOVE WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONCLICK WM_LBUTTONDOWN WM_LBUTTONUP WM_LBUTTONCLICK,来自窗口的消息,WM_CREATE WM_DESTROY WM_CLOSE WM_M
6、OVE WM_SIZE WM_PAINT,来自焦点的消息,WM_SETFOCUS WM_KILLFOCUS,定时器消息,WM_TIMER 定时器的使用请参见课本75页,命令消息,WM_COMMAND,使用消息机制的应用实例,使用消息机制的应用实例,使用消息机制的应用实例,使用消息机制的应用实例,在CMsgDlg:OnInitDialog中将m_1中的pBtn指向m_2的地址,将m_2的pBtn指向m_1的地址。这样,从m_1可以控制m_2,从m_2也可以控制m_1.,使用消息机制的应用实例,类向导的使用,启动类向导: 查看-建立类向导 右键-建立类向导 Ctrl+W,使用类向导添加消息处理函数
7、,第一种方法:,使用类向导添加消息处理函数,第二种方法:,使用类向导添加消息处理函数,双击左边栏中的选项(或用Add Handler)来添加消息处理函数:,使用类向导添加消息处理函数,完成后选择Edit Existing:,添加成员变量,与添加消息函数类似,也有两种方法。,添加新类,三种方法:1.通过建立类向导:,添加新类,插入-类 右键工作区-New Class,工具栏,什么是工具栏?,编辑工具栏,工作栏不做为单独功能出现,可以理解为菜单的快捷方式:,添加工具栏,添加工具栏,在CMainFrame:OnCreate函数中添加:,添加工具栏,添加了一条工具栏:,显示/隐藏工具栏,为新添加的工具
8、栏添加显示/隐藏菜单。,显示/隐藏工具栏,显示/隐藏工具栏,显示/隐藏工具栏,如何让新建的工具栏变得可用?,修改状态栏,修改状态栏,在CMainFrame类中找到并添加:,修改状态栏,修改状态栏,Visual C+ 编程中的图形,图形设备接口(Graphic device interface) 是所有Visual C+中图形处理函数的总称 链接硬件设备和图像输出的中间接口 可以使用GDI的类叫做GDI类,对应的GDI对象包括: CBitmap CBrush CFont CPen CRgn CPallete,使用画笔类对象进行画线,设备描述表(Device Context),Windows的绘图操作必须通过调用设备描述表(DC)来实现。 调用DC的方法: GetDC(); BeginPaint(); CClientdc dc;,使用画笔类对象进行画线,使用画笔类对象进行画线,使用画笔类对象进行画线,使用画笔类对象进行画线,使用画笔类对象进行画线,dc.SetROP2(R2_NOT): 逆转当前绘图颜色 在这种模式下,首次画出的线是可见的,同一位置再画一遍时,线就不见了。,画刷类的使用,带位图的画刷对象,带位图的画刷对象,