版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MFC基础
指导教师:徐雅静
1
4计算机实习
■一、实习内容
京■二、演示例子
■三、相关知识
电1、对话框程序
大2、控件使用
学3、类使用
4、文件使用
2
一、实习内容
■题目
实现一个基本的学生信息管理系统
3
本科
B生
士
生
M硕
士
4I,一、实习内容D>生
■存储介质:.txt文件(学号唯一。
O
京
类别姓名学号年龄系别实验室发表文章
邮
B张山B09823电信学院
电
M测试Y09423电信学院Iab3
大M周正Y09323电信学院Iab2
学D王丹010229电信学院LAB920
4
~实习内容
北■程序框架:1、基于对话框应用程序。
京
邮
5
实习内容
■程序框架:2、基于控制台的应用程序
际D:\讲义、实要和小学期\C++小学期\2U05\5tudent\Debug\3aa«eKe
一
函
硅
M钻
H单
助
京h帮
l示
a显
加
e增
辑
邮d编
除
j删
-
找
s查
存
雨q保
出
l退
t
生
-士2
张
三
B0200128LABI2
智
郑
生29LAB920
士B01021
大硕i
欢
王
生
科V0123324自动化学院LABI
本1
李
诚
嘉
0029120电信工程学院
.
LJ
6
工实习内容
■程序功能:
1.能够显示学生信息
2.能够增加、删除、编辑学生信息
3.能够按照学号或姓名查询学生信息
4.能够分类统计(可选)、排序(可选)
5.能够保存学生信息
7
工实习内容
■评分标准
1、界面6-10分
2、显示、增加、删除、编辑、查询、保存
每项功能6-10分
3、分类统计6-10分
4、排序6-10分
5、其他6-10分
8
二、演示例子
■1、基于对话框的例子
、4
乐
邮
9
二演示例子
2、基于控制台的例子
乐
邮
U-T
大
10
三、相关知识
1、对话框程序
2、控件使用
标签、图片、编辑框、按钮、组合框、
列表框等。
3、类使用
4、文件使用
U
1、对话框程序
■1.1步骤
1、选择工程类别MFCAppWizard(exe)
2、选择应用程序类别DialogBased
3、选择应用程序外观
4、选择应用程序风格
5、确认相关类名称
6、完成)显不主窗口
12
1、选择工程类别MFCAppWizard(exe)
New凶
北FilesProjects|Workspaces|OtherDocuments|
^ATLCOMAppWizard^Projectname:
-1-a"TlClusterResourceTypeWizai5tepl|
乐莉CustomAppWizard选择MFC
^DatabaseProject
ocation:
^DevStudioAdd-inWizardAppWizard(exe)
皆ExtendedStoredProcWizarol讣实验和小学期\c++小学期\2
邮0ISAPIExtensionWizard
^Makefile
寓MFCActiveXControlwizard
电囱MFCAppWizard(dll)Createnewworkspace
58MFCAppWizard(exe)/rAddtocurrentworkspace
只NewDatabaseWizard
「Dependencyuf:
大T|UtilityProject
3Win32Application
口Win32ConsoleApplication
©Win32Dynamic-LinkLibrary
学国|Win32StaticLibrary
Platforms:
回Win32
3
2、选择应用程序类别DialogBased
A
y
<BackNext>FinishCancel
14
,3、选择应用程序外观
I去掉该复选框
北
乐
邮
电
大
学
15
,4、选择应用程序风格
北
邮
电
大
学
16
5、确认相关类名称
北
乐
邮
电
大
学
17
6、完成夕显示主窗口
Stepl-MicrosoftVisualC++-[StepErc-roD_STEPl.DIALOG(Dialog)]主对话框
^^ditViewInsertprojectBuildLayoutToolsWindowHelp
对话框资Q&暇国百%|MAXVALUE二I«
Dlg司I[Allclassmembers).CStepIDIg三|回▼
源入口工」
国C_JjDialog-mam
®_JIcon
乐国_jVersion
邮
TODO-在这里设置对话控制.
Class视图
学
Resource视图File视图控件面版
」....广.3
V
田|皮/卓出|固曲|H*」E3国画|熬百
亡0,0iu320x20018
Ready
对话框或控件
-共同特征
1、Resource:外观
2、Class:逻辑实现
3、File:物理存储
19
20
说明
o
■1、CSteplApp类
应用程序类,该类中包含程序的入口函数:
BOOLCSteplApp::lnitlnstance()
CSteplDIgdig;
m__pMainWnd=&dlg;
)
对应的文件Stepl.h和StepLcpp。
21
二^应用程序类调用
说明
■2、CSteplDIg
主对话框类,却省应用程序的主窗口。
〃数据交换的支持函数
voidDoDataExchange(CDataExchange*pDX)
〃对话框初始化函数
BOOLOnlnitDialogQ
〃屏幕刷新函数
voidOnPaint()
对应的文件SteplDIg.h和SteplDIg.cpp。
22
2、控件使用
欧w
»
、»静态图片
静态文本・n为abl---------->编辑框
组框--------o--A按钮—>单选框
复选框•fx回
国
瓯
组合框------画--,列表框
周
仝
▼皿
g隰
5
列表视图*ED,树形视图
a日
标签&目
n臼
©腐
23
二常用控件资源
北
京
邮
电
大
学
二常用控件资源
■什么是控件?
具有外观、属性和行为的元素,也就是说
每一种控件=resource+class。比如编辑框
fCEdit类,按钮fCButton类
25
1、静态控件
■静态控件是用来显示一个字符、边框、
图标、位图等)一般不接受用户的输入,
也不产生任何事件。
26
1、静态控件
欧w
»
、»静态图片
静态文本,n为abl---------->编辑框
组框--------o---A按钮—>单选框
复选框•fx回
国
瓯
组合框-------画-,列表框
周
仝
▼皿
g隰
5
列表视图*ED,树形视图
a日
标签&目
n臼
©腐
27
4静态图片
-适用范围
一般用于应用程序的logo图片
邮■使用步骤
1、添加图片资源
2、将控件和图片资源关联
28
1)添加图片资源
%Stepl-MicrosoftVisualC++-[Stepl.rc-TOD_5TEP1.DIALOG(Dialog)]
WfileWewInsertprojectguildToolsWindowHelp-lfi»|x|
恤)除Q3[强寇|吗O|聃|MAX_VALUE,点击鼠标右键,
CStepIDIgjJjjAIIclassmembersjJ|^CStepIDIg
北当二选择Insert
a-JSBffiWiBS'ra
S0DialogResourceIncludes...凶EE..
k厩
,Dl
圉IDD_RessourceSymbols...
确定为
-_jiconSaveStepl.rc
乐取消Qab0l
□IDRInsert...
6
EjVersion垃时找…
S3VSJlx回
▼DockingView函
EB囹
tilde
邮a国
囱Propertil
室
囹
除
电㈡日
独
国
n|£
大£国
Configuration:Stepl-Win32Debug
-0error(s),0v)arning(s)
Resource
]|$|静归^|囤曲H旧「电|稀口|
Createsanewresourceofanytype29
次开始I冷宜⑶同引》|C++小学期|画MicrosoftPowerPoint•[M,」|8Stepl・Mic但oftVisualC..4*总囤⑵”
D添加图片资小T
一二,资源窗口,,
'用于手
,绘图案
选择已
有图案y
选择
30
2)将控件和图片资源关联
1、用鼠标选中“静态图片”,并拖入对话框中
2、点击鼠标右键,弹出属性对话框^
'类型选择
Bitmap
资源ID
1
31
2)将控件和图片资源关联
北
京
邮
电
大
32
静态文本和组框
-适用范围
一般用于静态的说明文字和边框,
与其他控件共同使用。
■使用步骤
1、将控件拖入对话框
2、设置属性
33
2、编辑框
欧w
»
、»静态图片
静态文本・n为abl---------->编辑框
组框--------o--A按钮—>单选框
复选框•fx回
国
瓯
组合框------画--,列表框
周
仝
▼皿
g隰
5
列表视图*ED,树形视图
a日
标签&目
n臼
©腐
34
12、编辑框
-适用范围
一般用于可编辑的单行或多行文字。
■编辑框相关知识
resource:资源外观,有唯一的ID
class:CEdit
成员变量:属性
成员函数:设置属性和行为
CEdit的对象:控件变量
35
2、编辑框
如何使用编辑框?
1、将控件拖入对话框
2、设置属性
3、编程对其进行控制
1)设置关联控件变量
2)使用变量调用相关成员函数
36
2、编辑框属性
蓄本僖目
显示*姓名:|vvv
北
rm
EditProperties
乐GeneralExtendedStV
Aligntext:rHorizontalscroll「Password|7Border
|Left
邮PAutoHScroll「Nohideselection厂Uppercase
rMultieHVerticalscrollFOEMconvertrLowercase
电rNU「AutoVScroll「Wantreturn「d-only
多行文本只读
y
37
$3、编辑框的控制
■1)直接调用成员函数
一〃设置获取编辑框文字
SetWindowText(LPTSTR);
GetWindowText(LPTSTR);
〃编辑框是否变灰
EnableWindow(BOOL);
学〃编辑框是否可见
ShowWindow(int);
38
例1:编辑框使用
>设置编辑框的文字并使其变灰
1、设置控件变量
点击View->ClassWizard
2、在窗口初始化时添加代码
39
人单置母牛变量点击添加变量
V_____________
北
乐
邮
电
大
学
1、设置控件变量
北
乐
邮
电
大
学
41
41、设置控件变量
系统自动添加代码如下
京//DialogData
//{{AFX_DATA(CSteplDlg)
enum{IDD=IDD_STEP1_DIALOG};
大CEditm_edit;
学〃}}AFX_DATA
所有和控件映射的变
量均在此
42
数据交换函数中的生成代码
系统自动添加代码如下
voidCSteplDlg::DoDataExchange(CDatj^|^>lpDX)
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CStepTB<gL^
DDX_Control(pDX,IDJEDITl布
//}}AFX_DATA_MAP〔.口
43
2、在窗口初始化时添加代码
■
BOOLCSteplDlg::OnInitDialog()
dLJ
京
邮//TODO:Addextrainitializationhere
m_edit.SetWindowText(nwelcomen);
电m_edit.EnableWindow(false);
大
returnTRUE;
学
//returnTRUEunlessyousetthefocustoacontrol
44
有文字,变灰
咫仃_,,________________________________7
北
乐
邮
电
大
学
45
3、编辑框的控制
■对话框数据交换机制
DDX(DialogDataexchange),用于控
件初始化和获取用户输入的数总。
对话框数据验证DDV(Dialogdata
validation))用大对话框中输入数据的合
法性检验。/\
用户只关心编辑框的内容,不
关心编辑框的属性,可以使用内容
相关变量操作编辑框。
46
3、编辑框的控制
■通常使用UpdateData函数进行数据传递。
UpdateData(true):控件->成员变量
UpdateData(false):成员变量->控件
■进行数据交换时UpdateData函数将设置一
个CDataExchange对象)并调用对话框中
的DoDataExchange重载函数。
47
例2:编辑框使用
>使用DDX和DDV控制编辑框的内容和长度
1、变更控件变量并注释掉OnlnitDialogO
中的原有代码。
2、在OnlnitDialog。中添加新代码
3、运行
48
删除原有变量,
1、变更控件变量增加新的变量
.ZJxJ
选择ValueMemberVariablesAutomationActiveXEventsClassInfo
AddMemberVariableaxCjass...
Membervariablename:Variable...
E:\...\200
乐|m_edit|-
ControlIDs:IeVariable
Cancel
IDC_BUTTON1^^Category:
邮IDC_CHECK1UpdateColumns
Value
IDC_CHECK2
IDC_CHECK3BindAll
Variabletype:
电IDCC0MB01
IDCEDIT1jcStringZ1
IDC__TREE1
IDCANCEL
大IDOK
学Description:CS1validation
A
字符串选择CString
整型选择int、UINT、long等
Cancel
49
1、变更控件变量
北
乐-1-a
邮
电
大
学
50
4头文件中的生成代码_
//DialogData
//{{AFX_DATA(CSteplDlg)
enum{IDD=IDDSTEP1DIALOG};
CStringm_edit;
//}}AFX_DATA
51
构造函数中的生成代码
CSteplDlg::CSteplDlg(CWnd*pParent/*=NULL*/)
:CDialog(CSteplDlg::IDD,pParent)
{
//{{AFX_DATA_INIT(CSteplDlg)
m_edit=_T("");
//}}AFX_DATA_INIT
//NotethatLoadIcondoesnotrequireasubsequent
DestroylconinWin32
m_hlcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
52
0数据交换函数中的生成代码
voidCSteplDlg::DoDataExchange(CDataExchange*pDX)
市{[映射变量
CDialog::DoDataExchange(pDX);S一
邮//{{AFX_DATA_MAP(CSteplDlg)
DDX_Text(pDX,IDC.EDITI^^e^);
DDV_MaxChars(pDX,m_edit
//}}AFX_DATA_MAP\1控件ID
最大字符数
<__________________________)
53
2、在OnlnitDialog。中添加新代码
■
BOOLCSteplDlg::OnInitDialog()
乐//TODO:Addextrainitializationhere
1
邮//m_edit.SetWindowText("welcome');
//m_edit.EnableWindow(false);
电medit="123";
UpdateData(false);
returnTRUE;
学
//returnTRUEunlessyousetthefocustoacontrol
54
3、运行
北
乐
邮
电
大
学
55
注意
■1、每一个控件只能关联一个控件变量。
■2、Control类型的变量只能在窗口弹出时
使用。可以用来改变编辑框的内容和属
性。
■3、Value类型的变量只能改变编辑框的
内容。
56
3、编辑框控制
■消息机制
控件响应键盘或鼠标的操作,称为事件。
发送消息给控件;控件获取消息后,进行处理。
EN_CHABGE:内容改变
EN_SETFOCUS:获取焦点
EN_MAXTEXT:插入最多字符
■入口
菜单View〉ClassWizard
57
3、编辑框消息
MFCClassWizard控件消息
北
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度场地转租赁合同格式
- 2024年度专业危险品物流服务合同
- 2024保险销售工作计划(31篇)
- 2024版房产共有权转让合同要点
- 2023年金融信息化项目招商引资方案
- 2024年度建筑施工合同:甲方委托乙方进行建筑施工乙方按照约定完成工程确保项目在2024年度内完工
- 银行贷款合同范本格式
- 2024年度新车型研发合作与许可合同
- 2024年塔吊施工材料供应合同
- 公益课程合同范本
- 2023年北京市昌平区广播电视台(融媒体中心)招聘笔试题库及答案解析
- 主要耗能设备管理台账
- 2018年木地板公司组织架构及部门职能
- 露天矿山开采课件
- 语篇的衔接和连贯课件
- 蒋介石-教学讲解课件
- 《中级财务会计(二)》作业册形成性考核册国家开放大学电大
- 儿化音变课件
- 生化武器课件
- 哌啶(CAS:110-89-4)理化性质及危险特性表
- NY∕T 3349-2021 畜禽屠宰加工人员岗位技能要求
评论
0/150
提交评论