第3章 编写Windows应用程序
Windows程序设计 第3章 对话框和常见控件
树形控件
树形控件(TreeCtrl)和下面要讲的列表控件(ListCtrl) 在系统中大量被使用,例如Windows资源管理器就是一 个典型的树形控件例子。 树形控件可以用于树形的结构,其中有一个根接点(Root) (Root) 然后下面有许多子结点,而每个子结点上有允许有一个 或多个或没有子结点。MFC中使用CTreeCtrl类来封装树 形控件的各种操作。通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
滚动条控件
滚动条(Scroll Bar)一般不会单独使用,因为SpinCtrl 可以取代滚动条的一部分作用,但是如果我们需要自己生 成派生窗口,滚动条还是会派上一些用场。创建一个滚动 条可以使用成员函数: : BOOL CEdit::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
MFC 提供类CDialog作为对话框服务的基类,类CDialog将对话框模板与使 用对话框时必需熟悉的几种类方法进行封装。对于对话框中发送消息的的 控件,我们可创建相应的消息处理程序。MFC编译器提供的框架工具使得 我们把对话框中的控件消息映像到派生类的类函数变得简单、快捷。对话 框数据映像函数使用专门的值初始化对话框中的控件,接着检索数据并使 之有效。大多数对话框需要类成员变量来跟踪用户的输入,这些数据在数 据映像中使用,它们在对话控件与类变量之间自动映像数据。 为创建对话框,首先建立CDialog对象,然后创建和显示对话框窗口我们 有两种选择:一种方法是调用函数CDialog::DoModal()来创建有模式对话 框窗口,另一种方法是调用函数CDialog::Create()来创建无模式对话框窗口, 在上述两种情况之下,对话框对象先初始化,然后创建对话框以及它的控 件。 类CDialog成员函数Create()使用两种重载原形,最常用的一种如下: Create(UINT nIDTemplate, CWnd * pParentWnd=NULL); 其中,参数nIDTemplate是一个对话框模板的标识符, 参数pParentWnd是对话框所属的父窗口。
第3章 WinSock编程初步-Windows网络编程基础教程(第2版)-杨传栋-清华大学出版社
注意:
➢ 熟练掌握常用WinSock API函数的功能和使用方法是利用 Windows Socket进行网络编程的基础。
➢ 要掌握WinSock API函数,首先要记住该函数的名称与函 数的主要功能,其次要清楚各参数的类型及作用,以及函 数返回值的类型及意义,最后还要掌握函数成功执行的必 要条件,了解造成函数不能成功执行的常见原因。
➢ 不仅包括了Berkeley Sockets风格的库函数,同时也提供了 一套Windows所特有的扩展库函数,使程序员能够使用 Windows系统的消息驱动机制。
➢ 应用程序调用WinSock的API函数实现相互之间的通信,而 WinSock API函数又利用下层Windows操作系统中的网络 通信协议和相关的系统调用实现其通信功能。
1.包含WinSock头文件:在程序文件首部使用编译预处理命 令“#include”,将WinSock头文件包含进来。例如:
#include <WinSock2.h> 2.链接WinSock导入库,有两种方式:
✓ 通过在项目属性页中的“配置属性\链接器\输入”的 “附加依赖项”中直接添加导入库名字
✓ 在程序中使用预处理命令“#pragma comment”。例 如,程序要使用WinSock2时,可使用如下预处理命令: #pragma comment (lib, "Ws2_32.lib")
➢ 由于WinSock2完全兼容WinSock1,因此,当系统中安装 的是WinSock2时,程序中即可以使用WinSock1的头文件 和导入库也可以使用WinSock2的头文件和导入库,但如果 要使用只有WinSock2才有的功能,那就只能使用 WinSock2的头文件和导入库。
第3章3WinXP的基本知识及操作教案_计算机应用基础
3.3.1 Windows XP的桌面1. 桌面“桌面”就是在安装好中文版Windows XP后,用户启动计算机登录到系统后看到的屏幕上的较大区域,在屏幕底部有一条狭窄条带,称为任务栏。
在计算机上做的每一件事情都显示在称为窗口的框架中。
“桌面”是用户和计算机进行交流的窗口,上面可以存放用户经常用到的应用程序和文件夹图标,用户可以根据自己的需要在桌面上添加各种快捷图标,使用时双击该图标就能够快速启动相应的程序或文件。
Windows XP的桌面比以前的版本更加漂亮,大多数图标虽然名称未变,但外观却是全新的。
第一次启动 Windows XP 时,只看到一个“回收站”图标。
在Windows XP中如果使用Windows经典桌面的外观和功能,可以将桌面主题更改为Windows经典主题,操作步骤如下:① 右击桌面上的空白区域,在弹出的快捷菜单中选择“属性”,弹出“显示属性”窗口。
② 在“显示属性”窗口中选择“主题”选项卡上,单击主题框中的“Windows经典” 后单击“确定”。
如果要将Windows XP的“开始”菜单更改为Windows经典主题,操作步骤如下:① 右击“开始”菜单,在弹出的菜单中选择“属性”,弹出“任务栏和开始菜单属性”窗口。
② 在“开始菜单”选项卡上,单击“经典开始菜单”后单击“确定”。
设置完毕后的桌面如图3-4所示。
图3-4 Windows 经典主题桌面2. 桌面图标桌面上的小型图片称为图标。
可以将它们看作是到达计算机上存储的文件和程序的大门。
双击某图标,可以打开该图标对应的文件或程序。
桌面上常见的图标的功能如下:●“我的文档”:“我的文档”是一个文件夹,使用它可存储文档、图片和其它文件(包括保存的Web页),它是系统默认的文档保存位置,每位登录到该台计算机的用户均拥有各自唯一的“我的文档”文件夹。
●“我的电脑”:在桌面上双击“我的电脑”图标后,将打开“我的电脑”窗口,通过“我的电脑”窗口,用户可以管理本地计算机的资源,进行磁盘、文件或文件夹操作,也可以对磁盘进行格式化和对文件或文件夹进行移动、复制、删除和重命名,还可以设置计算机的软硬件环境。
第3章 Windows 2000
办公自动化实用教程*人民邮电出版社
3.3
3.3.1 3.3.2 3.3.3 3.3.4 3.3.5
Windows 2000桌面系统
Windows 2000窗口 Windows 2000菜单 应用程序的启动和退出 运行DOS应用程序 Windows 2000帮助系统
办公自动化实用教程*人民邮电出版社 3.3.1 Windows 2000窗口 3.3.1.1 窗口结构 窗口结构包括:边框,窗口标题,窗口, 标题栏,菜单栏,水平滚动条和垂直滚动条; 尺寸控制角,文件及文件夹图标。 3.3.1.2 鼠标和键盘的使用 操作鼠标左键可进行选中、执行等操作, 按鼠标右键,将出现选定目标的快捷菜单。
办公自动化实用教程*人民邮电出版社 3.3.3 应用程序的启动和退出
1.应用程序的启动 (1)利用“开始”菜单来启动应用程序 (2)利用“资源管理器”来启动应用程 序 (3)利用“我的电脑”来启动应用程序 2.非执行文件与应用程序的关联 将非执行文件与打开它们的应用程序 之间建立起来的联系,我们称为“关联”。
办公自动化实用教程*人民邮电出版社
3.1
操作系统简介
3.1.1 操作系统概念 3.1.2 操作环境 3.1.3 常用的操作系统
办公自动化实用教程*人民邮电出版社
3.1.1 操作系统概念
操作系统是最重要的系统软件,主 要完成3个方面的工作,即管理资源、 控制输入输出处理、实现用户与计算机 之间的通信。
办公自动化实用教程*人民邮电出版社
图3-22 文件夹或文件属性对话框
办公自动化实用教程*人民邮电出版社
3.4.6 查找文件、文件夹和应用程序 3.4.7 磁盘操作
磁盘的操作命令主要有“复制磁盘”和 “格式化”两个。
计算机基础 第3章 Windows操作系统的使用-33
C.XLS CCF1.EXE CCF1.PPT CCF3.DOC CCF3.PPT CCF4.TXT CCF24.PPT
CCF1.EXE CCF1.PPT CCF3.DOC CCF3.PPT CCF4.TXT
CCF1.PPT CCF3.PPT CCF24.PPT
4
CCF?.??? C*.* C*.PPT
14
选择文件夹中的对象
选择
单选 多选
位置在一起
(用Shift)
位置在一起 位置不在一起
位置不在一起 全部选定 反向选择
(用Ctrl) 全部选定
( Ctrl +A)
反向选择
选择:但凡对某个对象进行操作时,
都需先明确操作对象。复制、移动文件和文件夹
常规方法(剪贴板):
借助剪贴板来复制和移动文件和文件夹。
12
创建文件夹和文件
第一步:打开要创建新文件或文件夹的文件夹, 即确定放文件或文件夹的位置。
第二步:选择“新建”命令来创建
最简单的方法:
在选定位置单击鼠标右键 在快捷菜单中选择 新建(子菜单)→
13
创建文件夹和文件
常规方法: 在当前文件夹窗口的菜单 栏中
1、选择文件菜单 2、选择新建(子菜单) 文件和文件夹任务 创建一个新文件夹
一旦清空“回收站”,也就 永久地删除了它里面的内容, 再也找不回来了。
20
回收站的功能:
恢复被删除的文件和文件夹
21
搜索文件和文件夹
更改文件和文件夹的属性
23
显示、隐藏文件或文件夹
24
磁盘管理
❖ 查看磁盘的基本信息 ❖ 更改磁盘的卷标 ❖ 磁盘清理 ❖ 磁盘检查 ❖ 磁盘整理 ❖ 磁盘备份 ❖ 磁盘格式化
《Visual_C++程序设计教程》第三章MFC中的资源与界面设计
3.2.5 位图
位图是一个与显示像素对应的点阵结构,它由 一系列按位排列的数据组成,这些数据分别表 示各个像素点的颜色信息。位图的颜色数目与 用来存放颜色数据的位数直接相关,常见的有 2色、4色、16色、256色、增强色(16位) 和真彩色(32位和24位)等。Windows支持两 种类型的位图:设备相关位图(Device Dependent Bitmap,DDB)和设备无关位图 (Device Independent Bitmap,DIB)。
5)视图 视图类从CView或它的派生类派生。视图和文档联系在一起, 在文档和用户之间起中介作用,即视图在屏幕上显示文档的 内容,并把用户的输入转换成对文档的操作。 6)文档模板 文档模板类一般不需要派生。MDI应用程序使用多文档模板 类CMultiDocTemplate,SDI应用程序使用单文档模板类 CSingleDocTemplate。 应用程序通过文档模板类对象来管理上述对象(应用程序对 象、文档对象、主边框窗口对象、文档边框窗口对象和视图 对象)的创建。
3.1.3 MFC消息管理
VC++6[1].0入门【第三章、MFC编程概述】
第三章 MFC 应用程序概述第3章 MFC 应用程序概述Microsoft Windows 是微软公司推出的一个应用于微机上的具有图形用户界面的多任务和多窗口的操作系统。
Windows 应用程序也称为窗口应用程序,所有的窗口应用程序都有着相同的窗口风格和菜单结构,用户界面友好,方便用户操作。
本章从剖析窗口应用程序的基本结构入手,继而介绍使用MFC 类库开发的应用程序框架结构,并介绍窗口应用程序运行的核心机制-消息映射。
学习了本章,你将对MFC 应用程序框架结构和运行机制有个整体的了解,为后面进入窗口应用程序开发打下良好的基础。
3.1 窗口应用程序概述窗口应用程序的开发一般采用可视化的面向对象的开发,可选择的窗口应用程序开发语言有Visual C++、Visual Basic 、Visual Java 、Dephi 等等。
无论采用哪一种开发语言,首先要了解窗口应用程序的基本机制。
3.1.1 窗口编程基础窗口应用程序运行于Windows 操作系统,Windows操作系统是一个多任务操作系统,因此窗口应用程序的组成,支持技术,基本运行机制等与DOS 应用程序有着本质的区别。
在学习开发窗口应用程序之前,先要对窗口应用程序有一个概念上的了解。
1. 窗口窗口是应用程序与用户进行交互的界面,应用程序通过窗口传递信息给用户,同样用户通过窗口输入数据,发布命令给应用程序。
Windows 界面包含了丰富的标准用户界面元素,包括窗口、图标、菜单、滚动条、对话框、控件和消息框等。
用户使用这些界面元素可以方便的与应用程序进行交互,一个典型的窗口外观如图3-1所示。
垂直滚动条控制菜单栏标题栏菜单栏关闭按钮最小化按钮最大化按钮客户区VC++6简明教程图3-1 Windows应用程序窗口组成在Windows编程中,各种窗口、菜单、按钮、对话框及程序模块等Windows的规范部件是按“对象”来组织的。
为了提高开发窗口应用程序的效率,微软公司为用户提供了大量能创建上述标准元素的API函数和C++类,并且以Windows API函数库和C++类库的形式提供给用户,以充分满足构成应用程序操作界面的需要。
第3章 WindowsXP操作系统
3.2.1 用“资源管理器”管理信息资源
2.文件夹 文件夹又称为“目录”,是系统组织和管理文件的一种形 式,用来存放文件或上一级子文件夹。它本身也是一个文 件。文件夹的命名规则与文件名相似,但一般不需要加扩 展名。 用户双击某个文件夹图标,即可以打开该文件夹,查看其 中的所有文件及子文件夹。 3.文件的类型 在Windows XP中,文件按照文件中的内容类型进行分类, 主要类型如表3-1所示。文件类型一般以扩展名来标识。
桌面的操作 窗口与对话框的操作 应用程序的启动 剪贴板的使用 Windows XP的帮助系统
3.1.1 桌面的操作
3.1.1 Windows XP的桌面
桌面是Windows XP操作系统的基本界面。 中文Windows XP 桌面通常由屏幕背景、图标和任务栏等组 成,用户可以根据需要将应用程序和文件夹的图标放置 在桌面上。
任务2:
当你同时打开了“我的文档”和“我的电脑”两个应用程序 的窗口时,你如何在桌面上排列并显示它们呢? [操作步骤] (1)在任务栏的空白处单击鼠标右键,弹出任务栏的快捷菜单。 (2)选择“层叠窗口”,将打开的两个窗口按先后的顺序依次 排列在桌面上,每个窗口的标题栏和左侧国家边缘是可见 的。 (3)选择“横向平铺窗口”,即各个窗口均以相同大小横向排 列在桌面上。 (4)选择“纵向平铺窗口”,即各个窗口均以相同大小纵向排 列在桌面上。
3.1.3 应用程序的使用
2. 应用程序切换的方法:
①用鼠标单击应用程序窗口中的任何位置。 ②按Alt+Tab键在各应用程序之间切换。 ③在任务栏上单击应用程序的任务按钮。
3. 关闭应用程序的方法:
①在应用程序的“文件”菜单中选择“关闭”选项。 ②双击应用程序窗口左上角的控制菜单框。 ③单击应用程序窗口左上角的控制菜单框,在弹出的控制菜 单中选择“关闭”选项。 ④单击应用程序窗口右上角的“关闭”按钮。 ⑤按Alt+F4键。
第3章 Winsock基础
第3章 WinSock基础 int WSAStartup (WORD wVersionRequested, LPWSADATA lpWSAData);
此函数初始化Windows Sockets DLL,必须是应用程序或 DLL第一个调用的Windows Sockets函数允许.应用程序或 DLL指定Windows Sockets API要求的版本,以获取指定的 Windows Sockets实现的细节.应用程序或DLL只有在一次成 功的WSAStartup()执行后才能发布后续的WinSock函数.
第3章 WinSock基础 3.2.2 错误检查和控制
错误检查和控制对于WinSock应用程序是至关重要的.事 实上,对Windows Sockets API函数来说,返回错误是很常见 的,但多数情况下,通信仍可在套接字上进行.尽管返回的值 并非一成不变,但不成功的WinSock调用返回的最常见的值是 SOCKET_ERROR.SOCKET_ERROR是值为-1的常量.如果返回了 错误,可用WSAGetLastError函数来获得一段代码,这段代码 明确地表明了产生错误的原因.WSAGetLastError函数如下: int WSAAPI WSAGetLastError WSAGetLastError(void); 该函数的返回值指示当前线程最近执行的Windows Sockets API函数产生的错误.
第3章 WinSock基础 WinSock对Socket的扩充 3.1.5 WinSock对Socket的扩充 Windows Sockets API 是 windows 的 网 络 程 序 接 口 , 从 Berkeley Sockets扩展而来的,并在继承Berkeley Sockets的 基础上进行了新的扩充.这些扩充主要是提供了一些异步函数, 并增加了符合Windows消息驱动特性的网络事件异步选择机制.
第三章MDI多文档应用程序PPT课件
为更好满足学习和使用需求,课 件在下载后可以自由编辑,请根
据实际情况进行调整
In order to better meet the needs of learning and using, the courseware is freely edited after downloading
可视化编程
Visual Basic 6.0
MDI多文档应用程序
本章学习MDI多文档应用程序的设计 1.通用对话框 2.自定义对话框 3.菜单设计 4.工具栏与状态条 5.多文档设计
一.通用对话框(Microsoft Common Dialog Control 6.0)
使用VB提供的通用对话框可以创建六种 标准的对话框:
1.打开对话框 属性 , Filter,FilterIndex, InitDir, DefaultExt, Max , Flag
2.另存为对话框 属性与打开对话框基本一样。
3.颜色对话框 Color Flags
4.字体对话框 Flags FontName,FontSize, FontBold,FontItalic, FontUnderLine,FontStrikethru
5.打印对话框 Copies FromPage Topage
6.帮助对话框 HelpFile HelpKey HelpContext
二.自定义对话框 1.添加窗体 2.选择“对话框”窗体类型 3.设计 Unload Dialog
Cancelbutton_Click
三.菜单设计 1.菜单标题、下拉菜单、省略号、子菜单
快捷菜单
四.工具栏和状态条(Microsoft Windows Common Controls 6.0)
第3课-网络安全基础编程
编译后在命令行下运行如下
3.2.2 面向对象的C++语言
面向对象程序设计语言可以将一些变量和函数 封装到类(Class)中
当变量被类封装后,称之为属性或者数据成员 当函数被类封装后,称之为方法或者成员函数 属性 类 方法
定义好的一个类,然后定义一个类的实例,这 个实例就叫做对象,在C++中可以用类定义对 象,使用方法如程序proj3_4.cpp所示。
*案例3-1 读取命令行参数
案例名称:读取命令行参数 参数个数 程序名称:proj3_3.cpp #include <stdio.h> int main(int argc, char *argv[ ]) { int i; for (i = 1; i < argc; i++) { printf("%s\n", argv[i]); } return 0; } 参数的值
*事件 、 句柄
事件
如在程序运行的过程中改变窗口的大小或者移动窗口等,都 会触发相应的“事件”,从而调用相关的事件处理函数。
例如:BUTTONCLICK事件,触发ONBUTTON CLICK()事件处理函数
句柄
句柄是一个指针,通过句柄就可以控制该句柄指向的对象。 编写程序总是要和各种句柄打交道的
句柄是系统用来标识不同对象类型的工具,如窗口、菜单等,这 些东西在系统中被视为不同类型的对象,用不同的句柄将他们区 分开来。 例如:HWND、HDC、HBRUSH、HMENU、HPEN等等
目前流行两大语法体系:Basic语系和C语系。同一个 语系下语言的基本语法是一样。两大语系如图所示。
C语系: C语言/C++语言/Java语言/Perl语言/C#/JavaScript Basic语系: Basic语言/VB6.0//VBScript/VBA
最全的windows知识点总结
第一章Windows程序设计基础Windows的特点:(1)直观,高效的面向对象的图形用户界面,易学易用。
(2)用户界面统一,友好,美观。
(3)丰富的设备无关的图形操作。
(4)多任务的实现。
操作系统的主要功能有进程管理,内存管理,设备管理,文件系统,用户管理等。
操作系统的分类:(1)单用户单任务操作系统(2)单用户多任务操作系统(3)多用户多任务分时操作系统(4)网络操作系统API(Application Programming Interface 应用程序编程接口)是用来控制Windows各个元素的外观和行为的一套预先定义的Windows函数。
MFC(Microsoft Foundation Classes 微软基础类库)是由微软公司提供的用于在Visual C++环境下编写Windows应用程序的一个框架和引擎,是Windows下应用程序的编程语言接口。
虚拟机:由Windows在内存中创建的逻辑微机,由它来运行应用程序。
内存,准确的说是无力内存。
运行任何一个程序都是要占用物理内存,当关闭这个程序时,系统也会从物理内存中删除这个程序的信息,也称释放内存。
习题:5.Windows的多任务是如何实现?答:当Windows接收到由鼠标,键盘,定时器信号或某些I/O操作产生的“事件”后,为该任务分配CPU时间。
每个任务使用由Windows分配的短暂的时间片轮流使用CPU,由于CPU对每个时间片的处理速度非常快,在用户看来好像这些任务在同时执行。
6.API和MFC的作用是什么?答:上有不做总结。
第二章Windows编程概述Windows基础用户界面对象包括:窗口,标题栏,图标,光标,插入符号,对话框,控件等。
*indows定义的别名:Typedef unsigned long DWORD;无符号长整形Typedef int BOOL;整形Typedef unsigned char BYTE;无符号字符型Typedef float FLOAT;单精度浮点型Typedef unsigned int UINT;无符号整形句柄与存放地址所占用字节一样,4字节,32位。
第3章Windows操作系统
计算机基础
3.2 Windows XP操作基础
■ Windows XP的桌面布局
快速启动栏:
它的作用是快速启动。其中存放一些常用图标,如 Internet Explorer浏览器、Outlook Express和显示 桌面等快速启动图标。单击这些快速启动图标即可启 动相应的应用程序。
计算机基础
■窗口和窗口的操作
(2) 窗口的操作
①打开窗口。
②移动窗口。 ③改变窗口大小。
④最大化最小化窗口。
⑤切换窗口。 ⑥关闭窗口。 ⑦窗口的排列。
计算机基础
3.2 Windows XP操作基础
■窗口和窗口的操作
①打开窗口
当需要打开一个窗口时,可以通 过下面两种方式来实现: 选中要打开的窗口图标, 然后双击打开。 在选中的图标上右击,在 打开的快捷菜单中选择 “打开”命令,如图3-17 所示。
计算机基础
3.2 Windows XP操作基础
■ Windows XP的桌面布局
音量控制器: 用户可以通过拖动上面的小滑 块来调整扬声器的音量,当选择 “静音”复选框后,扬声器的声 音消失,如图3-9所示。
图3-9音量控制器
计算机基础
3.2 Windows XP操作基础
■ Windows XP的桌面布局
计算机基础
3.2 Windows XP操作基础
■ Windows XP的启动与退出
(2) 关闭计算机
【注销Windows】对话框中有两个选项,它们各自的 含义如下。 【切换用户】:保留当前用户所有打开的程序和数据, 暂时切换到其他用户使用该计算机,需要时可将计算机 快速返回执行切换用户操作之前的状态。 【注销】:当前用户注销身份并退出操作系统,计算 机回到当前用户没有登录之前的状态。
第3章 程序基本控制结构
输入代码如下:
Dim sYourScore As string Dim iScore As integer
System.console.WriteLine(“请输入你的考试分数 (0--100)之间:”) sYourScore=System.Console.ReadLine iScore = convert.toInteger(sYourScore)
基本语句
模拟文件读取出错
程序运行结果:
基本语句
Case 语句的用法
Case语句的用法
至此为止,Select Case语句的三种用法都 已经用到了,下面总结一下: (1)Case…To…的形式 表示被选择的表达式处于某个范围以内 (2)Case Is…的形式 表示被选择的表达式满足某个条件,当然, Is后面不一定是等于,只要是比较运算符 (=,<,>,<>等)就可以。 (3)Case …的形式 这事实上相当于Case Is =的形式。
基本语句
Case 语句的用法
Case语句的用法
如果所有的条件都不能满足,Select Case 将会进入到Case Else语句。虽然Case Else语句可以不写,但是选择完了所有的 条件以后,最好加上Case Else..,这是用 来处理异常情况的。比如在这个程序中, 如果用户输入期望以外的值,就执行Case Else输出信息,告诉用户输入无效,这样 就大大地提高了程序对抗错误输入的能力, 也就是所谓的“健壮”。
四. 猜数游戏
代码实现
用Select…Case语句判断输入的数字是否 正确 记录猜测次数 演示
四. 猜数游戏
思考
Visual-Basic程序设计综合教程第3章--常用基本控件
End Sub
标签Label2的单击(Click)事件代码如下:
Private Sub Label2_Click()
Label1.Visible = True '设置Label1可见
Label2.Visible = False '隐藏Label2
End Sub
3.2.2 文本框
1 用途
文本框(TextBox)控件是VB中使用最为频繁 的控件之一,是一个文本编辑区域可以用来显示、 输入和编辑文本,类似于一个简单的文本编辑器。
3.2 标签、文本框和命令按钮
在VB应用程序的界面设计中,有3个最常用 的控件:标签、文本框和命令按钮。这3个控件是 构成用户界面的基础。
3.2.1 标签
1 用途 标签(Label)控件用于显示或输出文本信息。但不
能作为输入信息的界面,也就是说程序时标签所显示的内 容不能由用户直接编辑,但是可以通过程序代码修改。
第3章 常用基本控件
VB有两类控件,一是在工具箱中的常用 控件;二是通过添加“部件”的方法被使用的控 件。
本章主要介绍VB部分常用基本控件:标 签、文本框、命令按钮、图像框、图片框、滚动 条和计时器。其余常用控件将在后续章节陆续介 绍。
【主要内容】
●标签、文本框和命令按钮 ●图片框和图像框 ●水平滚动条和垂直滚动条 ●计时器
【例3.4】编写程序。在窗体上放置两个文本框(Text1和 Text2),设置文本框Text1为单行显示;文本框Text2为 多行显示,同时有水平和垂直滚动条,并且文本内容在运 行时禁止被用户随意更改。
要求:在程序运行后,在文本框Text1中显示文本内 容:“欢迎使用 Visiual Basic!”,用户可以选中其中 的任意文本内容,如图3.8(a)所示选中“Visiual Basic”, 然后单击窗体,则被选中的文本被字符串“VB”替换,同 时被选中文本的起始位置、长度以及内容等信息均在文本 框Text2中显示,如图3.8(b)所示。
高级 Windows 编程
3高级Windows 编程在火箭专家看来,Windows 编程当然算不上什么大工程。
但Windows 编程很绝的地方在于,你不用了解太多细节,就可以完成很多工作。
因此,我们在本章中将主要讨论开发一个完整的Windows 应用程序所需要的一些最重要的内容。
本章主要内容有:✈ 使用资源(如图标、光标和声音)✈ 菜单✈ 基本的图形设备接口和视频系统✈ 输入设备✈ 传递消息使用资源Windows 创建者提出的一个主要设计目标就是,在一个Windows 应用程序中除程序代码外还能储存更多的资源(甚至Mac 程序也是如此)。
他们认为一个程序的数据也能够驻留在该程序的.EXE 文件中。
这是个不错的想法,因为:· 一个同时含有代码和数据的.EXE 文件更容易分配。
· 如果没有外部数据文件的话,就不会丢失这些数据。
· 外部强制转移不会很容易地访问、任意删改、添加、和分配你的数据文件(例如,.BMP 文件、.WAV 文件等等)。
要满足这种数据库技术,Windows 程序支持该种功能,称之为资源。
这只是与你的程序代码结合在一起的数据的一小部分,这部分数据在以后的运行过程中可被程序本身加载。
图✠ 第3 章高级Windows 编程✠833.1 解释了这个概念。
图 3.1 资源和Windows 应用程序的关系那我们讨论的是哪一种资源呢?实际上对于想编译进程序中的数据类型并没有什么限制,因为Windows 程序支持用户定义的资源类型。
但是应当注意几种预定义的类型:· 图标——小位图图形,可以用于许多方面,例如单击该图形运行一个目录下的一个程序。
图标使用.ICO 文件扩展名。
· 光标——一个表示鼠标指针的位图。
Windows 允许以各种方式操作光标。
例如,可以令光标在窗口之间移动时变换。
光标使用.CUR 文件扩展名。
· 字符串——字符串资源对于作为一种资源来讲可能是最不明显的了。
计算机基础课件 第3章 操作系统基础知识
系统区,存放操作系统和其他系统程序和数据 用户区,存放用户程序和数据
第3章 操作系统基础知识
存储管理
存储管理包括四个方面的功能:
内存分配与回收 地址转换 存储保护 存储扩充
第3章 操作系统基础知识
存储分配
按一定的策略或算法为各个并发的进程及相 关数据分配内存空间,最终目标是提高内存 利用率,并保证正常运行
第3章 操作系统基础知识
进程概念的引入
程序是一个“静态”的概念 在多个程序并发执行的情况下,“程序”不能解 释、描述和管理程序的并发过程 操作系统无法用“程序”的概念,表述和管理对 处理机资源的分配调度
引入了“进程”的概念
第3章 操作系统基础知识
进程的定义
进程是现代操作系统的基本概念,是并发程序出现后 必然出现的一个重要概念 进程是程序在一个数据集合上被运行的过程,即执行 起来的程序(“活起来”的程序;“活着”的程序) 在多程序执行的环境下,进程是处理机进行资源分配、 调度和程序运行的基本单位 处理机管理可归结为进程管理
整 管理复杂;但存储器的使用效率高 在现代多程序运行系统中,普遍采用此方式
第3章 操作系统基础知识
地址转换(重定位)
地址转换的定义: 将程序在外存空间中的逻辑地址转换为 内存空间中的物理地址
第3章 操作系统基础知识
地址转换(重定位) (了解) ——物理地址 vs 逻辑地址
内存由若干的存储单元组成;每个存储
存储扩充的目的是利用有限的内享部同存一储块空内间存运区行更大
的程序或更多个程序
将需要执行的程序段调入
内存区,覆盖已经执行结 存储扩充的一般方法有三种: 束的程序段
自动覆盖技术
交换技术 虚拟存储技术
Windows_Forms开发解析
1.3.2 修改窗体属性
➢ 打开【属性】窗口的方法有很多,既可以 通过在菜单栏中单击【视图】|【属性】 命令,也可以先选中窗体并右击,在右键 快捷菜单中单击【属性】命令,还可以通 过快捷键【Ctrl】+【W】+【P】。
1.3 管理Windows Forms项目
➢1.3.1 向项目添加窗体
➢步骤:
➢在解决方案资源管理器中,右击项目名称,在 右键快捷菜单中单击【添加】|【Windows窗 体】命令,或者在菜单栏中单击【项目】|【添 加Windows窗体】命令,均可弹出【添加新项】 窗口。
➢在该窗口的【模板】列表框中选择“Windows 窗体”,在【名称】文本框中输入窗体的名字, 默认为Form2、Form3等。单击【添加】按钮, 即可向项目中添加一个窗体。
Windows Forms开发
创建经典的Windows程序——Windows Forms开发
➢第1章 Windows Forms介绍 ➢第2章 基本控件 ➢第3章 Windows Forms高级应用 ➢第4章 熟练使用通用窗口 ➢第5章 图形图像程序设计 ➢第6章 在程序中访问数据库 ➢第7章 LINQ技术
第1章 Windows Forms介绍
➢ 1.1 Windows Forms程序概述 ➢ 1.2 Windows Forms项目概述 ➢ 1.3 管理Windows Forms项目 ➢ 1.4 创建简单的Windows应用程序 ➢ 1.5 小结
1.1 Windows Forms程序概述
➢ Windows Forms,指能够在Microsoft操作系统 平台上运行的,有着友好界面外观(如窗体、菜 单、控件等)的程序。
1.2.1 新建Windows Forms项目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表:对象类型与对应的消息 对象类型
窗口类
对应消息
窗口消息
如WM_PRECREATEWINDOW WM_CREATE
菜单或加速键标识符
WM_COMMAND消息
(命令处理消息)
WM_UPDATE_COMMAND_UI消息 (更新命令用户接口消息) 控件标识符 选中的控件类型的通知消息 S如EN_CHANGE消息(P138表4.10)
如:#define WM_MOUSEMOVE 0x0200 //Mouse移动
#define WM_LBUTTONDOWN 0x0201 //Mouse左键按下 Windows消息的类型:
1、 KB消息;2、Mouse消息;3、系统消息;
1~3的系统预定义消息取值范围为0x0000~0x03ff和0x8000~0xbfff4 (Windows系统保留使用)。
3.4 消息的检测
例:运行VC++的[Spy++]间谍程序,看看消息的检测。 操作步骤: Step 1 : [ 开 始 ]->[ 程 序 ]->[Microsoft Visual Studio 6.0]-> [Microsoft Visual Studio 6.0 Tools]->单击[Spy++]。 Step 2:[Spy]->[Messages…],弹出[Message Option]对话框,将 [靶]状图形(Finder Tool:右边的图形)拖到接收消息的窗口。 现将其拖到桌面,即让桌面接收消息。 Step 3:单击[Ok]钮关闭[Message Option]对话框。
8位无符号数。
4.COLORREF(unsigned long) 用作表示颜色的32位值。 在Windows API中有一个RGB宏,它返回的就是这种类 型。 格式:COLORREF RGB(BYTE r,BYTE g,BYTE b) 返回:用作颜色的32位值(真彩色)。
说明:r、g、b分别用于指定红、绿、兰基色的亮度(r、 g、b取值范围为0~255且为整数)。
point-MOUSE光标的位置坐标 坐标值通常以窗口的左上角为原点计算。
例2:当按下键盘非系统键时,依次产生三个消息
(WM_KEYDOWN:键按下,WM_CHAR:字符消 息,WM_KEYUP:键松开)。 WM_CHAR所对应的消息处理函数原型为: afx_msg void OnChar(UINT nChar,UINT nRepCnt,UINT nFlags);
Get/Trans/DispatchMessage
Y
有可用的 消息吗? N Y 有空闲 任务吗?
N 等待直到产生消息
图:MFC Windows消息循环执行顺序流程图 MFC Windows消息循环由CWinApp::Run函数实现,消息循环执 行顺序见图所示。
3.3 MFC Windows应用程序消息处 理机制的建立
在MFC Windows应用程序中,必须正确地建立消息处理机制。
(一) 建立消息处理机制步骤如下(可归纳为三步曲):
1、 声明消息映射 若希望能进行消息处理的类具有接收消息的能力,需要在该类的 末尾加入消息映射说明。 格式:DECLARE_MESSAGE_MAP() 2、 建立消息与处理函数之间的映射 格式:BEGIN_MESSAGE_MAP(子类名,父类名) //消息映射宏定义或消息映射语句(根据使用消息的多少,一般 有若干个) ON_…([消息名或控制号,处理函数名]) END_MESSAGE_MAP()
黑
RGB(0,0,0)
5.LPARAM(long) 作为参数传给窗口函数的32位整数(MSG结构第4个数据项)。
6.WPARAM(unsigned int)
作为参数传给窗口函数的32位无符号整数(MSG结构第3个数据项)。 7.LONG(long)
32位带符号整数。
8.UINT(unsigned int) 32位无符号整数。 9.LPSTR(char *) 指向字符串的32位指针。 10.LPCTSTR(const char *) 指向字符串常量的32位指针。
//键盘按键处理 void CMainFrame::OnChar(UINT nFlags) { if(nChar=='Y'||nChar=='y') nChar,UINT nRepCnt,UINT
{
CString str="[y]键按下"; MessageBox(str);
}
CFrameWnd::OnChar(nChar,nRepCnt,nFlags); }
接着,操作Mouse就可在[Messages]对话框中看到产生的消息 了。
3.5 VC预定义的Windows程序扩充数 据类型
3.5.1 常用基本数据类型
1.BOOL(int)
32位布尔值,真用TRUE表示,假用FALSE表示。 2.INT(int) 32位带符号整数。 3.BYTE(unsigned char)
3.5.2 常用公用句柄类型
句柄是对象的标识或是对资源的间接引用(常用资源如MOUSE 光标、菜单等)。 1.HCURSOR MOUSE光标句柄。 2.HICON 图标句柄。 3.HMENU 菜单句柄。 4.HWND 窗口句柄。此数据类型常表示Windows环境中所打开的窗口句 柄,使用该句柄相当于引用该窗口。 5.HBRUSH
11.LPVOID(void *) 指向未定义类型的32位指针。 12.LRESULT(long) 来自窗口函数或回调函数的32位整数。 注:由Windows OS直接调用的函数叫回调函数。 13.WORD(unsigned short) 16位无符号整数。 14.DWORD(unsigned int) 32位无符号整数。 15.FARPROC 32位指向函数的指针。
○多任务机制 Windows中多任务机制使用进程(Process)和线程(Thread)的概 念。
○内存管理技术
MS DOS和Windows3.2等16Bit操作系统使用分段体系结构进行内 存管理。Win32(Windows 95及以上版本)采用线性体系结构进 行内存管理。
3.2 MFC Windows应用程序典型 执行顺序流程图
Win32 OS中,有三个动态链接库构成了Win32 API的核心:
1、 USER32.DLL 负责窗口管理,包括:消息、菜单、光标、通信、定时器及 其它控制显示窗口的函数。 2、 GDI32.DLL 管理用户界面的生成和图形绘制,主要包括设备环境、字体、 位图等。 3、 KERNEL32.DLL Windows的核心,它管理内存调度、进程调度等底层功能。 扩展的DLL如OPENGL32.DLL(它有15个基本3D API函数), 许多厂商以OPENGL32为基础开发出了自己的特色产品,比较著 名的有:3D Studio MAX动画制作软件、Open Inventor仿真软件、 ProEngineer CAM软件、ARC Info GIS软件。
常见的RGB颜色组合罗列如下:
颜色
红 兰 紫
RGB宏
RGB(255,0,0) 绿 RGB(0,0,255) 黄 RGB(255,0,255) 青 RGB(0,255,0) RGB(255,255,0) RGB(0,255,255)
灰 白
RGB(128,128,128) RGB(255,255,255)
开始 生成应用程序对象 WinMain 初始化实例 消息循环
CWinApp::Initinstance
CWinApp::Run Message Pump
WM_QUIT?
CWinApp::ExitInstance 结束
退出应用程序
开始 有可用的 消息吗? N 空闲处理 Y
CWinThread::PumpMessage
3.1 Windows程序的特点
○消息驱动机制 消息(Message)就是关于发生事件的信息。 从程序的观点度看,消息驱动就是由消息来驱动/响应某个函数, 消息驱动程序设计是围绕着消息的产生与处理而展开的。而DOS 程序则是过程驱动的。 Windows 系 统 中 已 预 定 义 了 7000 多 条 消 息 , 用 户 可 在 VC 的 winuser.h中找到这些消息宏定义。
nFlags-按键标志
b15~b5 b4 b3 b2 b1 b0
该标志取值可以是:
⊙MK_CONTROL(b3) 标志[Ctrl]键按下。 ⊙MK_LBUTTON(b0) 标志MOUSE左键按下。 ⊙MK_MBUTTON(b4) 标志MOUSE中键按下。 ⊙MK_RBUTTON(b1) 标志MOUSE右键按下。 ⊙MK_SHIFT(b2) 标志[Shift]键按下。
利用ClassWizard可以往AppWizard所产生的应用程 序框架中添加新的类和函数,也可以对现存的类进行 修改及创建类成员变量等。
ClassWizard允许程序员浏览自己应用程序中所有与 用户接口对象相关的消息,并且允许为这些消息快速 地定义消息处理函数,同时ClassWizard会自动更新消 息映射。用户接口对象的类型可分为三类,它们与相 应的消息一一对应(见表)。
GDI
设备驱动程序
图形物理设备
图:图形设备接口 图中,DC(设备环境/设备上下文:Device Context)是物理设备 (如显示器、打印机等)的逻辑模型,GDI是DC和设备驱动程序 之间的隔离层(或叫做抽象接口)。
在MFC程序设计中,文字和图形的输出可由CDC和 CgdiObject类的相关成员函数实现。 ○基于资源的程序设计 ○动态链接库技术 许 多 Windows 应 用 程 序 广 泛 采 用 DLL ( 动 态 链 接 库 : Dynamic Linking Library)技术。DLL的实质是一个可执行模块,但它本身 不能自己运行,使用时将它驻留内存由其它应用程序调用,使用 完毕可将其从内存中释放。 *.DLL文件的位置可以是: 1、 Windows/System文件夹 2、 PATH所指定的文件夹 3、 当前应用程序所在的x7fff