Windows应用程序(一)
第一个windows应用程序_1

创建简单的Windows应用程序
---基本窗体和控件
龚亚彬
Email: gongybin@
主要内容
1.窗体程序的组成 2.部分类(Partial class)及其应用 3.事件及其机制
4.控件一览 5. Windows窗体界面设计案例
Controls
TextBox, RichTextBox, MaskedTextBox Label, LinkLabel, StatusStrip CheckedListBox, ComboBox, DomainUpDown, ListBox, ListView, NumericUpDown, TreeView PictureBox ImageList CheckBox, RadioButton, TrackBar Dataows开发
前言
微软Visual Studio .NET 是一套完整的开发工具, 可用来开发 Web 应用程序、XML Web Services、桌面应用程序和移动应用程序等等。 Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环 境 (IDE),该环境允许它们共享工具并有助于创建混合 语言解决方案。
事件(Event)声明、触发、注册
声明一个单击(Click)事件: public event EventHandler Click; 在上面的语句中, EventHandler 是一个delegate类型, 定义如下:
public delegate void EvenHandler(object sender,EventArgs e);
windows打开应用的原理

Windows打开应用的原理1. 概述在Windows操作系统中,我们经常使用各种应用程序来完成各种任务。
无论是双击图标、点击开始菜单,还是使用命令行来打开应用,都是通过一定的机制来实现的。
本文将介绍Windows打开应用的原理以及相关的机制。
2. 应用程序文件在Windows中,每个应用程序都由一个或多个文件组成。
这些文件通常包括应用程序的可执行文件(.exe),库文件(.dll),配置文件以及其他资源文件。
当我们打开一个应用程序时,实际上是启动了应用程序的可执行文件。
3. 应用程序的启动方式在Windows中,有多种方式可以启动应用程序。
下面将介绍其中几种常见的方式。
3.1 双击图标双击应用程序的图标是最常见的启动方式之一。
当我们双击一个图标时,Windows会查找与该图标关联的可执行文件,并启动它。
3.2 开始菜单通过点击开始菜单中的应用程序图标,我们也可以启动应用程序。
开始菜单中的图标实际上是快捷方式,它们指向应用程序的可执行文件。
3.3 命令行通过命令行启动应用程序是另一种常见的方式。
在命令行中,我们可以输入应用程序的可执行文件的路径,然后按下回车键来启动应用程序。
4. 进程和线程在Windows中,每个应用程序都是以一个进程的形式存在的。
进程是操作系统中执行的程序实例。
当我们打开一个应用程序时,操作系统会为该应用程序创建一个进程,并分配相应的内存空间。
每个进程可以包含一个或多个线程。
线程是进程中的执行单元,负责执行具体的任务。
一个进程可以同时运行多个线程,每个线程可以执行不同的代码。
5. 进程间通信在Windows中,不同的应用程序可能需要进行数据传递或共享资源。
为了实现这种交互,Windows提供了多种进程间通信(IPC)的机制。
常见的进程间通信机制包括管道(Pipe)、命名管道(Named Pipe)、邮件槽(Mailslot)、共享内存(Shared Memory)等。
这些机制可以让应用程序之间进行数据传递和共享资源,从而实现更复杂的功能。
Windows窗体与控件(一)

创建应用程序的操作界面
5. 设置所有控件的Tab键顺序索引
Tab键顺序是指当用户按下Tab键时,焦点在控件间移动的顺序。 每个窗体都有自己的Tab键顺序,每个控件在窗体上也都有唯 一的Tab键顺序索引。默认状态下,控件在窗体上的Tab键顺序 索引与建立控件的顺序一致。如果要设置窗体上控件的Tab键 顺序索引,可以分别对每个控件设置其TabIndex属性,也可以 集中设置所有控件的Tab键顺序索引。 • 要集中设置所有控件的Tab键顺序索引,可以选择菜单【视 图|Tab键顺序】命令。如果需要改变多个控件的Tab键顺序索 引,按照想设置的顺序依次单击各个控件。【Tab键顺序】命 令是一个切换命令,因此设置好所有控件的Tab键顺序索引之 后,再次选择【Tab键顺序】命令即可结束Tab键顺序索引的设 置。
LOGO
《Visual C#.NET程序设计教程 》
Windows窗体与控件
内容简介
• Windows窗体是以.NET Framework为基础的一个新平台,主 要用来开发Windows应用程序。一个Windows应用程序通常由 窗体对象和控件对象构成,即使开发一个最简单的Windows 应用程序,也必须了解窗体对象和控件对象的使用。 • 先主要介绍Windows窗体的结构和常用属性、方法与事件, 以及Label、LinkLabel、TextBox、Button几种常用控件的 使用。
2. 设置标签的文本
• 在Label中显示文本,使用Text属性。首先要选择Label控件, 然后在属性窗口中设置该属性为某个字符串即可。 • Label控件中的文本默认的排列方式为靠上左对齐,通过设 置TextAlign属性可以改变排列方式。TextAlign属性值是 ContentAlignment枚举类型,共有9个枚举值,默认值是 TopLeft。如果设置TextAlign为TopCenter,则靠上居中。
开发Windows程序的三种方式

开发Windows程序的三种⽅式软件开发⽅式⼀共有三种:SDK⽅式、MFC开发⽅式、托管环境的开发都是基于消息的开发SDK⽅式原装api的调⽤SDK⽅式使⽤C语⾔和Windows应⽤程序编程接⼝(Windows API)来开发Windows应⽤程序,Windows API⾥⾯都是C函数,类似于C语⾔的标准函数库,只是Windows API这个函数库(或称开发包)⽤来开发Windows应⽤程序。
微软通过Windows软件开发包(Windows Software Development Kit,SDK)来提供Windows API。
这种⽅式是早期开发Windows应⽤程序的唯⼀⽅式,现在在界⾯开发中⽤的不多,但在飞⾮界⾯领域,⽐如多线程、⽹络、图形图像等某些对速度要求较⾼的场合会经常⽤到。
SDK⽅式是底层的开发⽅式,熟悉了SDK ⽅式后,对理解MFC⽅式⼤有裨益。
⽤这种⽅式开发,要求开发者熟悉C语⾔和Windows环境。
这种⽅式开发的Windows程序习惯称为Win32程序。
⽤这种⽅式开发Windows应⽤程序的最⼤好处是只需熟悉C语⾔,不必学习C++语⾔,学会这种开发⽅式能对Windows操作系统底层运⾏机制有相当深⼊的理解,⽽且这种⽅式开发出来的程序相对于其他两种⽅式运⾏速度更快。
下⾯我们来看⼀个最简单的Win32程序。
MFC开发⽅式MFC是对sdk的⾼度封装的类库MFC是微软基础类的缩写(Microsoft Foundation Classes),是⼀个庞⼤的类库,可以理解为⼀种在Windows上开发软件的架构,是微软专为Visual C++定制的。
该类库提供⼀组通⽤的可重⽤的类库供开发⼈员使⽤。
没有MFC之前,Windows上⽤Win32 API进⾏编程,之后MFC出现,在⼀定程度上提⾼了软件开发效率,它是对win32 API的封装,所以易⽤性好,不过性能会⽐win32开发低⼀些,⼆者各有所长吧。
如何创建一个最简单的Windows桌面应用程序

如何创建一个最简单的Windows桌面应用程序(C++)最近刚开始学习C/C++开发Windows应用程序,这里将会以零基础的视角把学习过程完全记录下来。
如果你也刚刚起步,那本文一定非常适合你。
进入正题,本文讨论如何使用Visual Studio生成一个最简单的C窗体应用程序,并向用户显示Hello~下面我们一步步来介绍,对于涉及代码的地方,我们只介绍大体的框架,完整的代码会在文章最后给出。
创建基于Win32 的项目1.在文件菜单上,单击新建,然后单击项目。
2.在“新建项目”对话框的左窗格中,依次单击“已安装模板”和“Visual C++”,然后选择“Win32”。
在中间窗格中,选择“Win32 项目”。
在“名称”框中,键入项目名称,例如HelloApp。
单击“确定”。
3.在“Win32 应用程序向导”的欢迎页面中,单击“下一步”。
在“应用程序设置”页的“应用程序类型”下,选择“Windows 应用程序”。
在“附加选项”下,选择“空项目”。
单击“完成”以创建项目。
4.在“解决方案资源管理器”中,右键单击 HelloApp项目,然后依次单击“添加”和“新建项”。
在“添加新项”对话框中选择“C++ 文件(.cpp)”。
在“名称”框中,键入文件名,例如GT_HelloWorldWin32.cpp。
单击“添加”。
添加引用我们的应用程序需要使用许多现有定义才能完成所需功能,针对我们的需求,添加引用如下(其中前两个是必须的):[cpp]view plain copy1.#include <windows.h>2.#include <stdlib.h>3.#include <string.h>4.#include <tchar.h>WinMain函数正如每个C/C++控制台应用程序在起始点必须具有main 函数,每个基于Win32 的应用程序的1.int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);实现WinMain函数时内部逻辑大体相同,主要有以下几部分:1.创建描述窗体信息的窗口类结构WNDCLASSEX如何创建一个WNDCLASSEX 类型的窗口类结构?下面的代码演示了一个典型的窗口类结构WNDCLASSEX 的定义:[cpp]view plain copy1.//创建 WNDCLASSEX 类型的窗口类结构。
第17讲 Windows程序设计基础

1. 2.
主菜单 弹出式菜单
菜单类
在.NET类库中,定义了一个非常庞大的基础类, 以供用户在各种编程中使用。在这些类中,有几个专 为用户编写菜单程序所用的类,通过使用这几个类, 你可以设计出自己想要的任何菜单。下面主要介绍三 个类:
1. 2. 3.
MenuStrip ContextMenuStrip ToolStripMenuItem
Windows应用程序框架
Windows程序运行机制 Windows程序设计是一种事件驱动方式的程 序设计模式。在程序提供给用户的界面中有许 多可操作的可视对象。用户从所有可能的操作 中任意选择,被选择的操作会产生某些特定的 事件,这些事件发生后将会向程序中的某些对 象发出消息,然后这些对象调用相应的消息处 理函数来完成特定的操作。
1.
在“工具箱”中双击ToolTip为窗体添加一个ToolTip, 此时窗体上所有控件的属性里都多了一个“toolTip1 上的ToolTip”属性,它可使控件与toolTip1关联起来 以创建工具提示。
高级控件
本节主要讲述以下几个主要高级控件的应用: NumericUpDown控件 ProgressBar控件 ListView控件 TreeView控件 Splitter控件 TabControl控件
ListView(列表视图)
ListView用列表的形式显示一组数据,每条数据都 是一个ListItem类型的对象。通常使用ListView来显示 对数据库的查询结果,Windows系统中的文件浏览器就 是一个ListView控件。 【例】ListView控件应用 View属性表示显示数据的视图模式,它包含如下4个选项:
Windows程序运行机制 2、事件驱动程序运行 事件指的是独立的偶发的事情,在计算机中,可以 通过单击鼠标、单击按钮、操作键盘产生事件,也可以 通过程序的控制而产生,甚至可以由另一个窗口的操作 产生。 在Windows程序中,可以对相应的事件编写对应 的响应函数,当该事情发生时,响应函数就会被调用。
windows1

应用程序的文档/视图结构
MFC 设计的Windows程序采用文档/视图结构
形成应用程序的主窗口需要类对象:
框架窗口类CFrameWnd对象 视图类CView对象 文档类CDocument对象
CWinApp中使用文档模板把上述三个对象组装 在一起,形成完整的程序实体。
应用程序的文档/视图结构
使用Vc++创建windows应用程序
实现自己的文档类与视图类
练习3: 响应鼠标消息
编写可在用户区中绘制一个矩形的应用程序,在按下鼠 标右键后,这个矩形会把它的右上角移动到鼠标位置 而当按下Shift键的同时,按下鼠标右键,则矩形恢复 原位置
处理鼠标消息
利用向导为MyAppView类增加WM_LBUTTONDOWN的消息处理
ห้องสมุดไป่ตู้
使用Vc++创建windows应用程序
将菜单射消息处理函数 将工具栏按钮映到命令
利用classWizard或classView编写消息处理函数 实现菜单与工具栏中的命令save, open
增加对话框 初始化,验证和提取对话框中的数据 创建新增的类
MFC简介
类库是可以在应用程序终使用的互相关联的C++类的集合
MFC是windows应用程序的框架
封装Windows API 函数 定义程序结构,实现标准用户接口 支持多线程, 自动消息处理功能 程序员填写自己应用程序的代码
利用MFC AppWizard构建应用程序框架
向导自动生成代码 利用可视化的资源编辑器设计用户图形界面 由类向导在界面元素与程序代码间建立联系
Windows程序设计-大学模拟题(附答案)

《Windows程序设计》模拟题一,单选题1.所有的Windows应用程序都是由()驱动的.A.事件B.消息C.命令D.菜单[答案]:B2.一般应用程序不会派生自己的()类.A.主框架B.视图C.菜单D.文档[答案]:C3.MessageBox不能完成()功能.A.接收用户输入B.显示消息C.改变对话框标题D.显示问号图标[答案]:A4.Windows系统中的消息不包括().A.标准Windows消息B.控件消息C.命令消息D.视图消息[答案]:D5.()函数是从CView继承来的成员函数,用于刷新整个视图窗口屏幕.A.InvalidateB.MouseMoveC.PaintD.Brush[答案]:A6.菜单()消息,处理菜单状态的动态变化.A.UPDA TE_UIB.UPDATEMANDD.UPDA TE_COMMAND_UI[答案]:DmdUI类的常用成员函数()使菜单项前增加或清除√标志.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:A8.编辑菜单时为使字母下带下划线,应使用助记符().A.@B.#C.&D.$[答案]:CmdUI类的常用成员函数()使菜单项前增加或清除圆点标志.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:BmdUI类的常用成员函数()设置菜单项有效或无效.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:DmdUI类的常用成员函数()改变菜单项文本.A.SetCheckB.SetRadioC.SetTextD.Enable[答案]:C12.CDC的常用函数()可以绘制矩形.A.EllipseB.RectangleC.ArcD.Circle[答案]:B13.应用程序可以使用GDI创建3种类型的图形输出,不包括().A.矢量图形C.光栅图形D.文本[答案]:B14.CDC的常用函数()可以绘制内接矩形的圆.A.EllipseB.RectangleC.ArcD.Circle[答案]:A15.()函数用于在指定位置输出字符串.A.PrintB.TextOutC.ScanfD.Write[答案]:B16.在View的在普通成员函数体内用()获得设备环境.A.CDCB.CWindowDClientDClassDC[答案]:C17.创建画笔不需要给出()参数.A.风格B.宽度C.颜色D.长度[答案]:D18.实线画笔的风格应用()宏.A.PS_SOLIDB.PS_DASHC.PS_DOTD.PS_DASHDOT[答案]:A19.实心画刷只需要定义().A.填充样式B.填充颜色C.填充模式[答案]:B20.对话框()描述对话框的外观和控件布局,在资源描述文件中有对话框的定义.A.资源B.类C.模板D.数据[答案]:A21.调用对话框类的对象的方法,创建并显示模态对话框.A.Print()B.Create()C.DoModal()D.Show()[答案]:C22.CDialog中的()成员函数用于成员变量和控件之间的数据传递.A.ExchangeB.ToDoC.EXTD.UpdateData[答案]:D23.静态控件不包括().A.静态文本B.按钮C.静态图片D.组框[答案]:B24.()不是编辑框的消息.A.BN_CLICKEDB.EN_CHANGEC.EN_KILLFOCUSD.EN_SETFOCUS[答案]:A25.()设置进度条的当前位置.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:C26.()设置进度条范围.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:A27.()设置进度条填充步长.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:B28.()让进度条前进一个步长.A.SetRangeB.SetStepC.SetPosD.StepIt[答案]:D29.文档和视图的关系是().A.一对一B.一对多C.多对一D.多对多[答案]:B30.在视图类中获得文档类对象指针用函数().A.GetDocumentB.UpdateAllViewsC.OnUpdateD.SetModifiedFlag[答案]:A31.Win32应用程序入口函数是().A.MainB.EntranceC.WinMainD.Inlet[答案]:C32.创建窗口工作()不在WinMain中完成.A.设计窗口类B.注册窗口类C.创建窗口D.窗口过程[答案]:D33.项目文件的扩展名是().A.exeB.dspC.dswD.cpp[答案]:B34.利用ClassWizard不能().A.建立新类B.进行消息映射C.增加类的成员变量D.插入资源[答案]:D35.下列()不是MFC消息映射机制有关的宏.A.DECLARE_MESSAGE_MAPB.BEGIN_MESSAGE_MAPC.DECLARE_SERIALD.END_MESSAGE_MAP[答案]:C36.要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必须设置工具栏的风格为().A.CBRS_TOOLTIPSB.CBRS_FL YBYC.CBRS_NOALIGND.WS_VISIBLE[答案]:B37.当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,水平滑动条发送()消息.A.WM_CHARB.WM_HSCROLLC.WM_VSCROLLD.WM_CHANGE[答案]:B38.要将模式对话框在屏幕上显示需要用到().A.CreateB.DoModalC.OnOKD.构造函数[答案]:B39.当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送()消息.A.WM_CHARB.WM_HSCROLLC.WM_VSCROLLD.WM_CHANGE[答案]:C40.以下控件中,()没有Caption属性.A.按钮B.组框C.编辑框D.静态文本框[答案]:C41.关于工具栏,菜单和加速键的关系,正确的说法是().A.工具按钮与菜单必须一一对应B.工具栏与加速键一一对应C.工具按钮不必与菜单一一对应D.菜单与加速键一一对应[答案]:C42.使用GetDC()获取的设备上下文在退出时,必须调用()释放设备上下文.A.ReleaseDC()B.deleteC.DeleteDC()D.Detach()[答案]:A43.列表框CListBox类的成员函数()用来向列表框增加列表项.A.AddString()B.DeleteString()C.ResetContent()D.FindString()E.GetCount()[答案]:A44.列表框CListBox类的成员函数()用来清除列表项所有项目.A.AddString()B.DeleteString()C.ResetContent()D.FindString()E.GetCount()[答案]:C45.下面()不是MFC设备环境类CDC类的派生类.A.GDIB.CPaintDClientDCD.CWindowDC[答案]:A46.()是非模态对话框.A.查找对话框B.字体对话框C.段落对话框D.颜色对话框[答案]:A47.使用()通用对话框类可用打开文件.A.CFileDialogolorDialogC.CPrintDialogD.CFontDialog[答案]:A48.常见的菜单类型不包括().A.自动菜单B.主菜单C.弹出菜单D.快捷菜单[答案]:A49.下列()不是MFCCDC类中常用的函数.A.TextOutB.EllipseC.RectangleD.CreateRedText[答案]:D50.对话框的功能被封装在()类中.A.CWndB.CDialogC.CObjectmdTarget[答案]:B51.Windows标准控件的属性设置通常由三个选项卡构成,不包括()A.ColorB.GeneralC.StyleD.ExtendStyles[答案]:A52.菜单项助记符前用()引导.A.%B.&C.#D.$[答案]:B53.更新菜单状态的消息是().MANDB.UPDATEC.UPDATE_COMMAND_UID.INV ALIDATE[答案]:C54.能间接调用视图类的OnDraw函数的是()A.OnTimerB.LButtonDownC.SerializeD.Invalidate[答案]:D55.下列()不是MFC消息映射机制有关的宏.A.DECLARE_MESSAGE_MAPB.BEGIN_MESSAGE_MAPC.DECLARE_SERIALD.END_MESSAGE_MAP[答案]:C56.下面()不是GDI对象.A.CFontB.CPalettelientDCD.CBitmap[答案]:C57.列表框的类型不包括()A.SimpleB.DropdownC.DropListD.Scroll[答案]:D58.设置编辑框控件的文本内容,可使用函数()A.SetWindowTextB.SetSelC.ReplaceSelD.GetWindowText[答案]:A59.使用()函数获取的设备上下文在退出时必须调用ReleaseDC释放.A.GetWindowsDCB.GetDCC.GetDesktopDCD.GetClientDC[答案]:B60.类CButton不是下列()控件对应的类.A.命令按钮B.单选按钮C.复选框D.静态文本框[答案]:D61.列表框CListBox类的成员函数()用来返回列表框的列表项总数.A.AddString()B.DeleteString()C.ResetContent()D.FindString()E.GetCount()[答案]:F62.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数()代表设置滑动块位置.A.SetRange()B.SetPos()C.SetTic()D.SetPoint()E.SetTicFreq()[答案]:B63.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数()代表设置刻度线位置,一次只能设置一个刻度线,用于手动设置刻度线.A.SetRange()B.SetPos()C.SetTic()D.SetPoint()E.SetTicFreq()[答案]:C64.滑动条是由滑动块和刻度线构成,按指定增量移动,CSliderCtrl类的成员函数()代表设置刻度线的疏密程度,配合Autoticks属性使用,每隔一定单位自动显示一条刻度线.A.SetRange()B.SetPos()C.SetTic()D.SetPoint()E.SetTicFreq()[答案]:F二,判断题1.UpdateData(true)函数完成成员变量的值传递给控件的操作.[答案]:F2.基于对话框的应用程序,也有文档类和视图类.[答案]:F3.调用DestroyWindow函数完成非模态对话框的销毁工作.[答案]:T4.每个对话框资源都会关联一个对话框类,常派生于CDialog,通过该类对象间接操纵对话框. [答案]:T5.基于对话框的应用程序在运行时也有菜单栏.[答案]:F6.对话框的功能被封装在CDialog类中.[答案]:T7.使用CColorDialog通过对话框类可以显示颜色对话框.[答案]:T8.DDX为对话框数据交换用.[答案]:T9.DDV完成成员变量和控件之间的交换.[答案]:F10.OnOK函数中进行对话框的初始化工作.[答案]:F11.对话框只由对话框类组成.[答案]:F12.从对话框的工作方式看,对话框可分为模式对话框和非模式对话框.[答案]:T13.查找对话框是模式对话框.[答案]:F14.颜色对话框是非模式对话框.[答案]:F15.每一个单选按钮在对话框类中都可以映射一个int类型值变量.[答案]:F16.当编辑框中的文本已被改变,在新的文本显示之后发送EN_CHANGE通知消息.[答案]:T17.CButton类控件只有按键按钮一种类型.[答案]:F18.一组单选按钮在组中的序号从1开始.[答案]:F19.向列表框增加列表项只能使用CListBox类成员的AddString函数.[答案]:F20.一个旋转按钮控件与一个相伴的控件一起使用时,该控件的Tab键次序必须大于旋转按钮. [答案]:F21.进度条控件的操作封装在CProgressCtrl类.[答案]:T22.多个静态文本控件必须有不同的ID号.[答案]:F23.调用Create成员函数创建动态分割窗口.[答案]:T24.调用Create成员函数创建静态分割窗口.[答案]:F25.视图派生类的成员函数通过调用GetDocument函数得到当前文档对象的指针.[答案]:T26.用户可以通过项目工作区窗口的ResourceView视图来查看资源.[答案]:T27.利用MFC编程时,所有的消息与消息处理函数的添加都必须采用ClassWizard类向导来完成.[答案]:F28.窗口是Windows应用程序的基本操作单元,是应用程序与用户之间交互的接口环境,也是系统管理应用程序的基本单位.[答案]:T29.Windows应用程序的入口也是main函数.[答案]:F30.键盘鼠标消息都是命令消息.[答案]:F31.使用MFCAppWizard[exe]向导创建应用程序框架时,向导生成的文件名和类名是不可以更改的.[答案]:F32.消息映射是将消息处理函数与要处理的特定消息连接起来的一种机制.[答案]:T33.命令消息是由菜单项,工具栏按钮和快捷键等用户界面对象发出的WM_COMMAND消息.[答案]:T34.用快捷键F9既可设置断点,又可取消断点.[答案]:T35.调试程序时,会同时出现Variable窗口和Watch窗口.[答案]:T36.Windows是一个基于事件的消息驱动系统.[答案]:T37.MFC采用消息映射来处理消息.[答案]:T38.WM_RBUTTONDOWN是鼠标右键按下时产生的消息.[答案]:T39.给菜单项定义快捷键,只需在菜单项属性设置对话框的Caption文本框中说明即可. [答案]:F40.快捷菜单一般出现在鼠标箭头的位置.[答案]:T41.UPDATE_COMMAND是更新命令用户接口消息.[答案]:F42.工具栏停靠特性只能设置一次.[答案]:T43.状态栏的功能由CToolBar类实现.[答案]:F44.CMenu类,CToolBar类和CStatusBar类的根基类是相同的.[答案]:T45.菜单选择只可以通过鼠标操作来完成.[答案]:F46.状态栏可以通过资源编辑器来编辑.[答案]:F47.MFC应用程序框架为状态栏定义的静态数组indicators放在MainFrm.h文件中. [答案]:F48.在菜单设计时,&字符的作用是使其后的字符加下划线.[答案]:TlientDC代表整个窗口的设备环境.[答案]:F50.删除CPen对象可调用CPen对象的DeleteObject函数.[答案]:F51.DDB又称GDI位图,它依赖于具体设备,只能存在于内存中.[答案]:T52.创建阴影画刷函数是CreateHatchBrush.[答案]:T53.深绿色RGB值为(0,128,0).[答案]:T54.Windows引入GDI的主要目的是为了实现设备相关性.[答案]:F55.Windows用COLORREF类型的数据存放颜色.[答案]:T56.Windows是按图形方式输出字符的.[答案]:T57.TextOut是CDC类中常用的文本输出函数.[答案]:T58.创建画笔后必须调用CDC类的成员函数SelectObject将画笔选人当前设备环境. [答案]:T59.对话框创建后,发送WM_CREATE消息,在该消息处理代码中创建各控件.[答案]:T60.通过AppWizard建立的程序不能被立即执行.[答案]:F61.打开一个项目,只需打开对应的项目工作区文件.[答案]:T62.在同一项目中,VisualC++在内部用来标识资源的资源符号不能重复.[答案]:T63.在Windows环境下,资源与程序源代码紧密相关.[答案]:F64.用户可以通过选择Tools|Customize菜单命令设置集成开发环境的工具栏.[答案]:T65.项目工作区文件的扩展名为dwp.[答案]:F66.Ctrl+F5是编辑程序的快捷键.[答案]:F67.F7是运行程序的快捷键.[答案]:F三,填空题1.项目工作区文件的扩展名是###.[答案]:dsw2.修改公司,描述等信息需用###编辑器.[答案]:Version3.利用###可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码.[答案]:应用程序向导4.启动VisualC++,进入VisualC++IDE,从###菜单上选择New菜单项,此时将弹出New对话框[答案]:应用程序向导5.利用###可以快速创建各种风格的应用程序框架,并可自动生成程序通用的源代码[答案]:File6.句柄是Windows使用的一种无重复整数,主要用来###.[答案]:标识应用程序中的一个对象7.一个单文档的MFC应用程序框架一般包括5个类:应用程序类,框架窗口类,###,文档类和文档模板类.[答案]:视图类8.用户点击菜单项后,会产生###消息.[答案]:WM_COMMAND9.改变菜单项文本是使用CCmdUI类的###成员函数.[答案]:SetText10.处理菜单命令消息首先会在###类中.[答案]:视图11.弹出快捷菜单使用的是CMenu类的###函数.[答案]:TrackPopupMenu12.在状态栏中添加文本使用的是CStatusBar类的###函数.[答案]:SetPaneText13.与DOS字符方式下的输出不同,Windows是按###方式输出的.[答案]:图形14.为了体系Windows的设备无关性,应用程序的输出面向一个称为###的虚拟逻辑设备. [答案]:设备环境15.可以利用CGdiObject类的成员函数###将GDI对象设置成指定的库存对象.[答案]:CreateStockObject16.对话框的主要功能是###和输出信息.[答案]:接收用户输入17.使用###函数可用创建非模式对话框.[答案]:Create18.每个控件最多只能关联Control和Value类型成员变量各###个.[答案]:119.一组单选按钮在对话框类中只能映射一个###类型值变量,对应单选按钮在组中的序号,序号从0开始.[答案]:int。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows应用程序
一、教学目的与要求
通过“HELLO,WORLD!”的Windows应用案例介绍窗体控件、标签控件的常用属性;
再通过“用户登录”应用案例介绍文本框、命令按钮、分组控件的常用属性;变量的使用,选择结构设计,MessageBox消息函数的使用。
二、教学重点与难点
1、C#窗体控件等常用控件的常用属性及设置方法
2、C#中如何将控件的值读出
3、C#中变量的使用
三、教学时间
6学时(2+4)
四、教学内容
课题一“HELLO,WORD!”案例
一.最常用的公共控件及其常用属性和事件
1.按钮控件Button
2.文本显示控件Label
3.输入控件TextBox
用C#建立“HELLO,WORD!”Windows应用,让学生了解FORM控件和Label控件的常用属性的使用方法。
要求:将Windows应用放在E:\Csharp\Win\win1文件夹中,项目名称为:HelloWord,运行界面如下所示。
(Windows应用界面)
任务1 创建HelloWord项目到指定文件夹
方法:
1、启动Vs2003
2、在【起始页】—>【新建项目】【】
3、在【项目类型】窗口中选【Visual C#项目】—>【模板】窗口中选择【Windows应
用程序】
4、在【名称】框中输入“HelloWorld”
5、在【位置】框中输入:E:\C#\Win\win1
6、单击【确定】,进入IDE设计窗口。
任务2 窗体控件(Form)的常用属性及设置方法
在建立好“HelloWorld”项目后,系统会自动建立一个Windows Form(FrmHelloWorld”,Form也是一个.NET控件。
Form的常用属性:
1、Name:给当前Form取名。
是在设计时首先要给定的属性。
2、Text:该Form的标题,用来给用户标明该Form在应用程序的作用。
3、Size:给定该Form在屏幕是的大小尺寸,同Width(宽度)和Height(高度)两个整数
值确定。
4、Backcolor:Form背景色。
5、BackgroundImage:背景图片
6、StartPosition:Form开始处于屏幕的位置状态。
7、MaximizeBox:Form的最大化图标是否有效。
8、MinimizeBox:Form的最小化图标是否有效。
任务3 标签控件(Label)的常用属性及设置方法
给当前Form添加一个标签(Label)控件“LblHello”,它是.NET Windows常用控件之一,主要用来作标识使用。
Label的常用属性:
1、Name:给当前Label取名,是在设计时首先要给定的属性。
2、Text:Label所显示的内容,是Label的主要属性。
3、Font:字体,说明Label的TEXT内容的字体、大小、相关字体属性(加粗、倾斜
等)
4、Forecolor:Label字体的前景色
5、Backcolor:Label的背景色
6、AutoSize:Label的大小自动与字的大小匹配。
实训1 用C#创建HelloWorld应用程序,并运行。
要求:
1、在C#系统中完成该项目
2、按要求写出完整的实训报告。
3、实验报告内容见附件。
课题二用户登录UsrLogin案例
说明:
用C#建立“UsrLogin”Windows应用,让学生了解TextBox控件和botton控件的常用属性的使用方法,C#中变量的定义和使用,简单函数定义与使用。
要求:将该应用放在E:\Csharp\Win\UsrLogin文件夹中,项目名称为:UsrLogin,运行界面如下所示。
任务1 创建UsrLogin项目到指定文件夹
任务2 文件框控件(TextBox)的常用属性及设置方法
1、NAME:
2、Text: 该文本框的值
3、Passwordchar:
任务3 命令按钮控件(Botton)的常用属性及设置方法
Name:
Text:命令按钮的标题
主要事件是Click事件
实训1 在C#中创建UsrLogin窗体界面。