标准控件的应用 控件概述 按钮控件 滚动条控件 静态控件 列表框控件 编辑框控件 组合框控件.

Slides:



Advertisements
Similar presentations
软件开发技术基础 第 3 章 操作系统及程序设计 讲授教师:卫颜俊. 主 要 内 容 主 要 内 容 操作系统及其功能 进程管理应用程序设计 内存管理应用程序设计 设备与文件管理应用程序设计 人机接口管理应用程序设计.
Advertisements

广州市小学信息技术教学同步资源 第一册 第二章 第六节 《 Window窗口》 广州市荔湾区西华路小学 董绮珊.
第2章 Windows编程基础.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
我征服了黃山 林達的黃山之旅 2006春.
项目2 字符格式和段落编排 2017年3月7日6时54分.
第一章信託法 第一節 信託契約 第二節 信託財產 第三節 受益人 第四節 受託人 第五節 信託關係之消滅.
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
计算机高级程序设计 第五章.
图表的创建.
吉林大学远程教育课件 Windows A P I编 程 (第四十五讲) 主讲人 : 翟慧杰 学 时:48.
走进Word 认识Word2010的工作界面 计算机专业 赵德玲.
第9章 Windows 标准控件在可视化编程中的应用
第2章 对话框与控件 返回目录.
版权所有 复制必究 第7章 对话框和控件.
第4讲 Windows编程基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
Visual Basic 程序设计 第四章 程序的输入和输出
第七章 基于对话框的应用程序 7.1 Windows编程基础 7.2 基于对话框的应用程序 7.3 静态文本框
简要回顾 了解课程体系、课程目的和主要内容 掌握Windows编程涉及的一些主要概念 DOS程序和Windows程序的主要区别 窗口和程序
第5章 文本与字体 2018/12/4 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/12/4 Huang Weitong.
高等視窗程式設計 GUI的使用(Dialog Base) 游子宜.
第1章 Windows应用程序框架的 创建与消息处理
第3章 Windows 应用程序基础 2018/12/6 第2讲 Windows 应用程序基础 VC++面向对象与可视化程序设计.
Windows 程序设计 哈尔滨工业大学计算机系322教研室 陶海军.
MFC WinSock类的编程 为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库(Microsoft Foundation Class Libary,简称MFC),提供了两个套接字类,在不同的层次上对Windows Socket API函数进行了封装,为编写Windows.
网络常用常用命令 课件制作人:谢希仁.
网络游戏开发语言基础 ——Windows程序设计
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
第5章 文本与字体 2018/12/31 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2018/12/31 Huang Weitong.
Windows 编程技术 2005年9月 2018/12/31.
2.5.1 单选控件 单选控件可以为用户选择某一个选项,单选控件常用属性如下所示。
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第八章 WinForms控件.
第4章 MFC编程 4.1 MFC概述 4.2 MFC和Win CObject类 4.4 消息映射的实现
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
版权所有 复制必究 第 6 章 MFC原理与方法.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第四讲 客户问卷调查程序 教育部“十二五”职业教育国家规划教材
第5章 文本与字体 2019/4/9 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/4/9 Huang Weitong.
标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序. 标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序.
本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_04Combox控件和ListBox控件的使用
姚金宇 MIT SCHEME 使用说明 姚金宇
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
组件 复选框(Checkbox)可以让用户进行多项选择。复选框有两种状态,分别为“开(on)”和“关(off)”。当用户点中复选框的时候,复选框的状态就会改变。 1、创建复选框 (1)声明复选框。 Checkbox mycheckbox =new Checkbox (); (2)添加复选框。将复选框组件放置到容器中。
项目二:HTML语言基础.
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第5章 文本与字体 2019/4/25 面向对象与可视化 程序设计 --Visual C++ 编程 主讲教师: 唐 龙教授 (计算机科学与技术系) 黄维通博士 (计算机与信息管理中心) 清 华 大 学 2001年2月 2019/4/25 Huang Weitong.
第4章 Excel电子表格制作软件 4.4 函数(一).
Word中活用“艺▪图▪框” 信息技术必修(一).
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
Visual Basic程序设计 第13章 访问数据库
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
VRP教程 2011.
第10章媒体控制接口 10.1 MCI设备类型 10.2 MCI编程步骤 10.3使用MCIWnd窗口类.
本节内容 消息的接收 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_08文件操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
WSAAsyncSelect 模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
MFC的六大核心 机制 命令传递 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
_01自己实现简单的消息处理框架模型 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
使用myApps平台配置Bug管理系统练习大纲
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
Presentation transcript:

标准控件的应用 控件概述 按钮控件 滚动条控件 静态控件 列表框控件 编辑框控件 组合框控件

控件概述 控件的创建形式有两种: 在对话框中创建控件 通过CreateWindow函数或CreateWindowEx函数创建控件子窗口。

系统预定义的窗口类 BUTTON 按钮控件 COMBOBOX 组合框控件 EDIT 编辑框控件 LISTBOX 列表框控件 SCROLLBAR 滚动条控件 STATIC 静态控件

控件消息 子窗口控件向父窗口发送WM_COMMAND消息进行通讯。 wParam:子窗口的标志 lParam: 低位:子窗口的句柄 高位:通知代码告诉父窗口用户在子窗口中所进行的操作。

关于控件的描述 MSDN Library 2001 Embedded Developer Documentation Windows CE Docunetation Windows CE API Reference Windows User Interface Services

常用子窗口型控件操作函数 EnableWindow 禁止或激活窗口 MoveWindow 移动窗口或改变窗口的大小 SetWindowText(SetDlgItemText) 设置窗口标题或文本 GetWindowText( GetDlgItemText ) 获取制定窗口的标题和文本 DestroyWindow 关闭窗口

按钮控件 按钮控件的创建 按钮控件的消息传递

按钮控件的创建 创建按钮子窗口: CreateWindow("BUTTON", "DIALOG1", BS_PUSHBUTTON |WS_CHILD |WS_VISIBLE, 200,200,120,30, hwnd, (HMENU)ID_BUTTON_DIALOG1, hInst, NULL);

按钮控件与应用程序之间的消息传递 接收按钮控件消息: 控件向父窗口中发送WM_COMMAND消息, 向按钮控件发送消息: wParam低字节:控件的ID; wParam高字节:控件向父窗口发出的通知代码。 向按钮控件发送消息: SendMessage 向子窗口按钮控件发送消息 SendDlgMessage: 向对话框按钮控件发送消息。

例如: case WM_COMMAND: switch(LOWORD(wParam)) { case ID_BUTTON_DIALOG1: //响应按钮消息 DialogBox(hInst,(LPCTSTR)IDD_DIALOG1, hwnd,(DLGPROC)DlgProc1); //弹出对话框 } break;

滚动条控件的创建 从功能上分垂直与水平滚动条 从形式上分窗口滚动条和子窗口滚动条,窗口滚动条由系统创建,其位置和尺寸固定,子窗口滚动条由应用程序创建,位置和尺寸由程序员确定。

创建窗口滚动条 在主窗口的创建过程中设置窗口类的样式为:WS_VSROLL或WS_HSCROLL。 例如: hwnd=CreateWindow(…… …… WS_OVERLAPPEDWINDOW| WS_VSCROLL| WS_HSCROLL );

创建滚动条控件子窗口 通过调用函数CreateWindow创建滚动条控件子窗口。 CreateWindow(”BUTTON”, NULL, WS_CHILD|WS|VISIBLE|SBS_VERT, 200,200,10,100, hwnd, ID_SCROLLBAE, hInstance, NULL );

例如: CreateWindow("scrollbar", NULL, WS_CHILD|WS_VISIBLE|SBS_VERT, 300, 20, 120, hwnd, (HMENU)ID_SCROLL1, hInst, NULL );

滚动条控件消息 滚动条控件与按钮等其他控件不同: 滚动条控件不发送WM_COMMAND消息,而是发送WM_VSCROLL和WM_HSCROLL,消息字参数的低位字节包含了滚动条的动作标识(详见MSDN)。

常用滚动条操作函数 SetScrollRange 设置滚动条的滚动范围 SetScrollPos 设置滚动块的位置 GetSystemMetrics 获取系统提供的滚动条尺寸 GetScrollPos 获取滚动块的位置 GetScrollRange 获取滚动条的滚动范围

例如: BOOL CALLBACK DlgProc1 ( HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam ) { static int scrollpos=0;//记录滚动条的当前位置 static HWND hScroll;//滚动条子窗口句柄 char statictext[10];//静态控件显示文本

switch(message) { case WM_INITDIALOG: hScroll=GetDlgItem(hdlg,IDC_SCROLLBAR1); //得到对话框中滚动条控件的句柄 SetScrollRange(hScroll,SB_CTL,0,10,1); //设置滚动条范围 SetScrollPos(hScroll,SB_CTL,2,1); //设置滚动条初始位置 SetDlgItemText(hdlg,IDC_STATIC,itoa(2,statictext,10)); //静态文本初始值与滚动条初始位置相同 break;

case WM_HSCROLL://水平滚动条响应消息 switch(LOWORD(wParam)) { case SB_LINERIGHT: scrollpos=GetScrollPos(hScroll,SB_CTL)+1; //得到滚动条当前位置 if(scrollpos>10) scrollpos=10; //防止出界 SetScrollPos(hScroll,SB_CTL,scrollpos,1); //将滚动条位置向右移一位 SetDlgItemText(hdlg,IDC_STATIC, itoa(scrollpos,statictext,10)); //静态文本与滚动条位置相同 break; }

case WM_COMMAND: switch(LOWORD(wParam)) { case IDOK: EndDialog(hdlg,0); return 1; } break; case WM_CLOSE: return 0;

静态控件 静态控件常用来标记其它控制窗口或分隔不同组别的控件。 一般情况下,静态控件不接收输入,也不发送消息;当静态控件响应用户输入时,静态控件便成为超文本。

静态控件的创建 调用CreateWindow函数创建静态控件。 当静态控件的样式设为SS_NOTIFY时可以发送消息,此时静态文本相当于超文本。

静态控件的消息 静态控件向父窗口发送WM_COMMAND消息。 lParam:静态控件的句柄 wParam低字节:静态控件的ID。 STN_CLICHED 单击静态控件 STN_DBLCLK 双击静态控件 STN_ENABLE 激活静态控件 STN_DISABLE 禁止静态控件

列表框控件 集中显示同种类型的内容: (1)可提供大量的可选项,自动显示滚动条 (2)可设置单选或多选功能。 (3)被选中的项以反相表示被选中,再次单击,恢复为非选中状态。

列表框控件的创建 调用CreateWindow函数创建列表框。

列表框的消息传递 列表框向应用程序发送消息 列表框向应用程序发送WM_COMMAND消息 wParam低字节:控件ID LBN_SETFOCUS 收到输入焦点 LBN_KILLFOCUS 失去输入焦点 LBN_SELCHANGE 用户选择发生改变 LBN_DBCLK 双击 IBN_SELCANCLE 列表框中的选择被取消

应用程序向列表框发送消息: 调用函数SendMessage或SendDlgItemMessage(常用消息见MSDN) 注意问题: 索引号的使用 第一项的默认索引号为0,最后一项为-1。 例如:在列表框的第三个位置插入一项: SendMessage(hwndlist,LB_INSERTSTRING,2, (LPARAM)NewItem); 应用程序向列表框发送LB_GETCURSEL获取当前选中的索引号 Int nIndex=SendMessage(hwndlist, LB_GETCURSEL,0,0L);

多选列表框消息的发送 当列表框样式为LBS_GETCURSEL和LBS_MULTIPLSEL时,用户可选取多个项,通过发送LB_GETSELCOUNT可获取选中的项数: Int nCount=SendMessage(hwndlist, LB_GETSELCOUNT,0,0L);

编辑框控件 接收用户键盘输入: (1)自动转换用户输入,如大小写转换。 (2)使用某个字符代替显示用户输入。 (3)可支持多行编辑。

编辑框的创建 调用CreateWindow函数。

编辑框的消息传递 编辑框向应用程序发送消息 发送WM_COMMAND消息 wParam低字节:控件ID。 wParam高字节:消息通知码: EN_SETFOCUS 获取输入焦点 EN_KILLFOCUS 失去输入焦点 EN_CHANGE 内容发生改变 EN_UPDATE 内容被更新 EN_MAXTEXT 用户输入已达到允许的最大字节数 EN_HSCROLL 有水平滚动条 EN_VSCROLL 有垂直滚动条

应用程序向编辑框发送消息 调用函数SendMessage或SendDlgItemMessage发送消息,各种消息代码详见MSDN。

组合框控件 组合框是两种预定义窗口的组合形式。 常用的组合框是列表及与其相联系的静态文本和编辑框。

组合框控件的创建 调用CreateWindow函数。

组合框的消息传递 组合框向应用程序发送消息 组合框向父窗口发送WM_COMMAND消息: wParam低字节:控件ID CBN_SELCHANGE 列表框部分选中项发生改变 CBN_DBLCLK 双击 CBN_SETFOCUS 收到输入焦点 CBN_FILLFOCUS 失去输入焦点 CBN_EDITCHANGE 组合框中编辑框文本发生改变 CBN_EDITUPDATE 编辑框显示修改过的文本 CBN_DROPDOWN 组合框中列表框将下拉 CBN_CLOSEUP 列表框隐藏

应用程序向消息框发送消息 应用程序通过函数SendMessage或SendDlgItemMessage向组合框发送消息(详见MSDN)