第5章 文本与字体 2019/4/9 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/4/9 Huang Weitong.

Slides:



Advertisements
Similar presentations
项目2 字符格式和段落编排 2017年3月7日6时54分.
Advertisements

插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
Oracle数据库 Oracle 子程序.
第14章 c++中的代码重用.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
第九章 字符串.
第9章 Windows 标准控件在可视化编程中的应用
第5章 文本与字体 2018/11/14 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/11/14 Huang Weitong.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
第5章 文本与字体 2018/12/3 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/12/3 Huang Weitong.
第七章 基于对话框的应用程序 7.1 Windows编程基础 7.2 基于对话框的应用程序 7.3 静态文本框
第5章 文本与字体 2018/12/4 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/12/4 Huang Weitong.
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
辅导课程六.
第一讲: 基本流程(1).
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
第5章 文本与字体 2019/2/15 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/2/15 Huang Weitong.
第10章 高级用户界面设计 10.1 菜单设计 10.2 通用对话框 10.3 图像列表框控件 10.4 树形视图控件
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第四讲 客户问卷调查程序 教育部“十二五”职业教育国家规划教材
C语言程序设计 主讲教师:陆幼利.
标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序. 标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序.
《面向对象程序设计与Visual C++6.0教程》
VB与Access数据库的连接.
_04Combox控件和ListBox控件的使用
姚金宇 MIT SCHEME 使用说明 姚金宇
组件 复选框(Checkbox)可以让用户进行多项选择。复选框有两种状态,分别为“开(on)”和“关(off)”。当用户点中复选框的时候,复选框的状态就会改变。 1、创建复选框 (1)声明复选框。 Checkbox mycheckbox =new Checkbox (); (2)添加复选框。将复选框组件放置到容器中。
项目二:HTML语言基础.
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
Select模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第5章 文本与字体 2019/4/25 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/4/25 Huang Weitong.
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
第六章 素材的加工与处理 第13讲 用GoldWave进行音频的截取、合并、淡入淡出操作
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
Experiment setup Leverage entities in Dbpedia and compute the cohesiveness among the properties used to describe these entities Set up gold standard for.
VRP教程 2011.
_03宽字符与Unicode编程 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第6章 窗体应用程序设计 王德俊 上海交通大学继续教育学院.
Python 环境搭建 基于Anaconda和VSCode.
_08文件操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
VB与Access数据库的连接.
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
本课内容 接下来的几节课,我们要利用C语言开发一些游戏 本节课开发一个俄罗斯方块游戏 游戏规则.
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
手工编写第一个 MFC程序 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
Presentation transcript:

第5章 文本与字体 2019/4/9 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/4/9 Huang Weitong

第5章 文本与字体 2019/4/9 第十四章 按钮类与列表框类及其应用 2019/4/9 Huang Weitong

内容提要 按钮控件及其方法 列表框控件及其方法 按钮控件的应用 列表框控件的应用 2019/4/9

第5章 文本与字体 2019/4/9 §14.1. 按钮控件 2019/4/9 Huang Weitong

1. 常见的按钮控件 复选框(Checkboxes) 单选按钮(Radiobuttons) 下压式按钮(Pushbuttons) 第5章 文本与字体 2019/4/9 1. 常见的按钮控件 复选框(Checkboxes) 常用于只有两种完全相反状态的情况下 单选按钮(Radiobuttons) 适用于同一组属性相同的数据中选一个数据 下压式按钮(Pushbuttons) 适用于消息的发送 分组框(Group boxes) 没有太多的操作只是在窗口中划分区域范围 Huang Weitong

2.Cbutton类和CBitmapButton类 第5章 文本与字体 2019/4/9 2.Cbutton类和CBitmapButton类 Cbutton类是CWnd类直接派生的。 CBitmapButton类又是Cbutton类直接派生的。 在AfxWin.h中定义了Cbutton类。 Huang Weitong

3. Cbutton类样式和方法 按钮不仅继承了一般的窗口式样,还可用winuser.h中所定义的按钮特有的式样。 2019/4/9

3. Cbutton类样式和方法 2019/4/9

2019/4/9

4.CBitmapButton类的方法 LoadBitmaps()为CBitmapButton对象附上位图,最多可有4个位图,这些位图从资源文件中读取; AutoLoad()将对话框按钮和CBitmapButton()对象联系起来; SizeToContent() 用于调整位图的尺寸大小。 DrawItem()自动在一个按钮的用户区上画上位图,即用户可以自定义按钮。 2019/4/9

第5章 文本与字体 2019/4/9 §14.2. 列表框控件 2019/4/9 Huang Weitong

1. 列表框的用处 常用于从众多数据中选某一项,如在对话框里,用列表框选择文件名、目录等。 有预定义的键盘接口,实现交互操作。 可用盘上的方向(箭头)键和PageUp或PageDown键,在列表框中进行数据的选择; 设置适当的样式后,可与Shift或Ctrl键组合用。 2019/4/9

2. CListBox类及其样式 CListBox类是CWnd类派生。 CListBox类控件有多种可用的样式。 MFC中CListBox类的层次结构 2019/4/9

2019/4/9

ON_Message(Control ID,ClassMethod) 消息映像项使用下面的基本格式: ON_Message(Control ID,ClassMethod) 所有者类声明中的方法原型 afx_msg void ClassMethod(); 发送消息的列表框 控件的子窗口标识 处理消息的父 类方法的名字 2019/4/9

3. CListBox类的方法 通用方法 单项选择特定方法 多项选择特定方法 字符串指定的方法 虚拟方法 2019/4/9

(1) 通用方法 通用方法用来获得和设置列表框数据的值和属性, 所有的CListBox列表框,包括单选列表框、多选列表框和自绘列表框等都有这些方法。 2019/4/9

列表框的默认模式是单选项模式; 所有的通用方法均适用于单选项列表框。 只有两个类方法专门处理单选项列表框 (2) 单项选择特定方法 GetCurSel()获得当前选择列表框项的下标(基于0) SetCurSel()选择列表框字符串。 2019/4/9

(3) 多项选择特定方法 特定多项选择列表框的CListBox类方法 GetAnchorIndex() 获取当前定位项的下标 扩展了标准单选列表框 的能力,解决了在一个 列表框中选择多项带来 的复杂性 特定多项选择列表框的CListBox类方法 GetAnchorIndex() 获取当前定位项的下标 GetCaretIndex() 获取具有光标矩形的项的下标 GetSelCount() 获取当前所选的项的数目 GetSelItems() 将所有当前被选项下标放入一整型数组缓冲区 SelItemRange() 切换多选择列表框项范围的选择状态 SetAnchorIndex() 在框中扩充选择设置开始(定位)项 SetCaretIndex() 在框中指定下标项设置光标矩形 SetSel() 在框中切换项目的选择状态 2019/4/9

(4) 字符串指定的方法 AddString() 加入一个字符串 DeleteString() 删除一个字符串 CListBox指定列表框中字符串的方法 AddString() 加入一个字符串 DeleteString() 删除一个字符串 Dir() 从当前目录加文件名放入列表框 FindString() 搜索一字符串 FindStringExact() 搜索第一个与指定字符串匹配的字符串 InsertString() 在指定下标处插入一字符串 ResetContent() 清除列表框中的所有项 SelectString() 在单选列表框中搜索并选择一字符串 2019/4/9

(5) 虚拟方法 CListBox类还声明了几个虚拟方法,可从CListBox类中派生一些类替换到你的类中。 CharToItem() 为自绘列表框(没有字符串)处理WM-CHAR CompareItem() 取得到排序的自绘列表框中新项的位置 DeleteItem() 从自绘列表框中删除一项时 DrawItem() 必要时,重绘时自绘列表框项 MeasureItem() 创建一自绘列表框时,决定列表框的维数 VKeyToItem() 处理具有LBS_WANTKEYBOARDINPUT样式 的列表框的WM_KEYDOWN 2019/4/9

4. 创建和初始化CListBox对象 构造函数CListBox::CListBox()和关键字new为CListBox对象分配一个实例;并返回指向该对象的指针: ClistBox *pMyListBox = new CListBox; CListBox::Create()初始化指针pMyListBox。初始化CListBox对象并赋于它一个Windows列表框, 设置其参数和样式。 2019/4/9

4. 创建和初始化CListBox对象 BOOL Create ( DWORD dwStyle, //列表框控件的窗口样式 CListBox::Create() 声明如下: BOOL Create ( DWORD dwStyle, //列表框控件的窗口样式 const Recy& rect,//控件的大小和位置矩形 CWnd* pParentWnd,//指向控件所有者的指针 UINT nID //父窗口标识 ); 2019/4/9

第5章 文本与字体 2019/4/9 §14.3. 按钮控件及列表框控件的应用 2019/4/9 Huang Weitong

[例14-1]交互界面具有三个分组框,分组框含有按钮和列表框。 2019/4/9

1.应用程序的可视化编程 #define IDC_Age1_RADIO 1015 #define IDC_Age2_RADIO 1016 同一组单选按钮 必须一个接一个 地放进对话框中 中间不能中断 单选按钮组的ID都为IDC_STATIC,说明不同的控件可以有相同的ID。因为单选按钮组只是用来显示一组内容的属性,无具体操作 #define IDC_Age1_RADIO 1015 #define IDC_Age2_RADIO 1016 #define IDC_Age3_RADIO 1017 #define IDC_Boy_RADIO 1023 #define IDC_Girl_RADIO 1024 对于成组的单选按钮,只在每组的第一个按钮的属性窗口中选中Group 2019/4/9

2.应用程序的代码编程部分 2019/4/9

3. 给有关按钮、编辑框等控件连接方法 2019/4/9

4.为复选框IDC_TIME_CHECK添加代码 void CSELECTBOXDlg::OnTimeCheck() { UpdateData(TRUE); if(m_TimeCheck==TRUE) { CTime tNow; tNow=CTime::GetCurrentTime(); CString sNow=tNow.Format("%H:%M:%S"); m_TimeEdit.SetSel(0,-1); m_TimeEdit.ReplaceSel(sNow); } else { m_TimeEdit.SetSel(0,-1); m_TimeEdit.ReplaceSel(""); UpdateData(FALSE); %I是小时的表示法(01到12) %m是分的表示法(00到59) %d是秒的表示法(00到59) 2019/4/9

5.给Enable按钮添加代码 void CSELECTBOXDlg::OnEnableButton() { GetDlgItem(IDC_DATE_CHECK)->EnableWindow(TRUE); GetDlgItem(IDC_TIME_CHECK)->EnableWindow(TRUE); m_DateEdit.EnableWindow(TRUE); m_TimeEdit.EnableWindow(TRUE); } 2019/4/9

6.为Disable按钮连接代码 void CSELECTBOXDlg::OnDisableButton() { GetDlgItem(IDC_DATE_CHECK)->EnableWindow(FALSE); GetDlgItem(IDC_TIME_CHECK)->EnableWindow(FALSE); m_DateEdit.EnableWindow(FALSE); m_TimeEdit.EnableWindow(FALSE); } 2019/4/9

7.为Show Again按钮添加代码 void CSELECTBOXDlg::OnShowButton() { GetDlgItem(IDC_DATE_CHECK)->EnableWindow(SW_SHOW); GetDlgItem(IDC_TIME_CHECK)->EnableWindow(SW_SHOW); GetDlgItem(IDC_DATE_EDIT)->EnableWindow(SW_SHOW); m_DateEdit.ShowWindow(SW_SHOW); GetDlgItem(IDC_TIME_EDIT)->EnableWindow(SW_SHOW); m_TimeEdit.ShowWindow(SW_SHOW); } 2019/4/9

(第十四章) 完 2019/4/9

第13-14章课后练习题 编写一个程序,用含有按钮和滚动条等控件的三个分组框,实现功能包括: [注]5月28日前完成 控制显示日期和时间; 选择加或减运算,并显示数据; 滚动条输入数据; [注]5月28日前完成 2019/4/9