1 / 17

大学Visual C++案例教程

大学Visual C++案例教程. 第一讲 Windows 与 Visual C++ 基础 西安交通大学 计算机教学实验中心 http://ctec.xjtu.edu.cn. 教学目标. Windows 图形用户界面 典型的 Windows 应用程序结构 MFC 程序的基本结构 简单的 Visual C++ 程序:窗口客户区输出. 授课内容. 1.1 Windows 的用户界面对象 1.2 Windows 编程的主要概念 1.3 Windows 应用程序类型 1.4 MFC 应用程序框架 1.5 MFC 编程 1.6 在窗口的客户区输出文字和图形

naida-giles
Download Presentation

大学Visual C++案例教程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 大学Visual C++案例教程 第一讲 Windows与Visual C++基础西安交通大学计算机教学实验中心http://ctec.xjtu.edu.cn

  2. 教学目标 • Windows图形用户界面 • 典型的Windows应用程序结构 • MFC程序的基本结构 • 简单的Visual C++程序:窗口客户区输出

  3. 授课内容 • 1.1 Windows的用户界面对象 • 1.2 Windows编程的主要概念 • 1.3 Windows应用程序类型 • 1.4 MFC应用程序框架 • 1.5 MFC编程 • 1.6 在窗口的客户区输出文字和图形 • 1.7 使客户区重绘 • 1.8 Windows数据类型 • 1.9 Windows变量的命名规则 • 程序设计举例

  4. 1.1 Windows的用户界面对象

  5. 1.2 Windows编程的主要概念 • 事件驱动 • 设备无关性 (设备独立性 ) • 资源管理

  6. 1.3 典型的Windows应用程序结构 • 控制台应用程序(C++) • 基于框架窗口的应用程序 (结构简单、编程复杂) • 基于对话框的应用程序 • 基于文档/视图结构的应用程序 (功能全面、结构复杂、编程简单)

  7. 1.4 应用程序框架 基础类库MFC(Microsoft Foundation Class)

  8. 1.5 MFC编程 • Project类型:MFC AppWizard(exe) • Step1: Single document • Step2~6:默认设置 • MFC编程特点: • 应用程序框架提供一个实现通用基本功能可运行的空程序,其他功能由程序员去实现了。 • 理解应用程序框架的程序结构,尤其是能找到加入代码的地方并加入适当的代码,是使用应用程序框架编程的第一步。 • 程序员只增加所需的代码,一般不删除系统生成代码

  9. 1.6 在窗口的客户区输出文字和图形 View类中的OnDraw()函数添加代码 void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDC->TextOut(15,50,"Hello world!"); }

  10. 主要绘图函数 • CDC的成员函数 • 文字信息显示 :TextOut(int x, int y, LPCTSTR lpszString) • 画线 :MoveTo(int x, int y) , LineTo(int x, int y) • 画矩形 :Rectangle(int x1, int y1, int x2, int y2) • 画椭圆 :Ellipse(int x1, int y1, int x2, int y2) • CWnd的成员函数 • 获取客户区的坐标 :GetClientRect(LPRECT lpRect)

  11. 1.7 使客户区重绘 • OnDraw函数的调用: • 系统自动调用:当窗口生成、用户改变了窗口尺寸,或者当窗口恢复了先前被遮盖的部分时 • 其他函数调用:当程序中某个函数修改了数据而需要重绘窗口时,需要调用CWnd类的Invalidate或InvalidateRect成员函数触发Windows的WM_PAINT消息,来引起对OnDraw的调用。 • 这两个函数的原型是: void Invalidate( BOOL bErase = TRUE ); void InvalidateRect( LPCRECT lpRect, BOOL bErase = TRUE );

  12. 1.8 Windows数据类型 关键字 类 型 说明(等价的类型) BOOL 逻辑类型 int CHAR 字符 char DOUBLE 双精度 double FLOAT 浮点数 float HANDLE 句柄 void INT 整数 int LONG 长整数 long VOID 空的、无定义 void WCHAR 双字节码 unsigned short WPARAM 消息参数 UINT LPARAM 消息参数 LONG LRESULT 消息返回值 LONG HINSTANCE 实例句柄 unsigned long HWND 窗口句柄 unsigned long HDC 设备环境句柄 unsigned long TCHAR 字符 char LPSTR 字符指针 char * LPCSTR 常量字符指针 const char * LPTSTR 字符指针 TCHAR * LPVOID 无类型指针 void *

  13. 主要结构体类型和常用类 • CString类 • 提供了丰富的字符串操作 • 格式化输出 int x = 0; double y = 0.36; CString s; s.Format("Variable x = %d, y = %lf", x, y);

  14. 主要结构体类型和常用类 • 点:结构体类型POINT和CPoint类 • long型数据成员x、y表示坐标 • 长、宽尺寸:结构体类型SIZE和CSize类 • int型数据成员cx、cy表示长、宽 • 矩形区域:结构体类型RECT和CRect类 • long型数据成员left、top、right、bottom表示4个边的位置 • 颜色:COLORREF(BYTE bRed, BYTE bGreen, BYTE bBlue)

  15. 1.9 Windows变量的命名规则 • 匈牙利(Hungarian)命名法 : • 标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型。 c 字符(char) n 整数(integer) f BOOL h HANDLE(无符号int) m_ 类成员变量 • 前缀以后是一个或者多个第一个字母大写的单词,指出程序中该对象的用途。 例如,m_nCount表示一个计数器的类成员变量,数据类型是整型。

  16. 程序设计举例 • 例1-1 SDI版的“Hello World!” • 学习使用MFC应用程序框架进行编程 • 客户区显示文字和图形

  17. 结 束 语 学好程序设计语言的唯一途径是 你的编程能力与你在计算机上投入的时间成 上机练习 正比

More Related