第九章 子窗口控件

合集下载

PB学习——精选推荐

PB学习——精选推荐

PB学习Pb1.B/S模式2.对象包括三⽅⾯:属性,事件,函数属性——规定了对象的特征;事件——说明对象相应什么样的操作;函数(⽅法)——封装对象的功能;3.PB主要包括的对象:应⽤对象,窗⼝对象,数据窗⼝对象,菜单,函数,查询,结构,⽤户对象,⼯程对象4.系统分析和系统设计——充分了解系统需求5.系统开发——创建对象,描述对象,设置属性建⽴应⽤对象;⽣成⽤户对象,函数和结构;建⽴窗⼝和菜单;创建数据窗⼝对象,将数据窗⼝对象连接到窗⼝上;编写各对象的事件处理程序;调试应⽤;测试系统;⽣成EXE⽂件。

6.PB与数据库的连接通过数据库接⼝来实现:ODBC接⼝,专⽤接⼝ODBC:开放式数据库互连标准接⼝,以关系数据库标准查询语⾔SQL来存取连接到的数据源专⽤接⼝:针对具体的数据库管理系统⽽设计,将PB连接到相应的数据库上。

ODBC接⼝(1)ODBC应⽤软件,包括⽤PB开发的应⽤程序调⽤ODBC函数,PB通过动态链接库PBODB60.DLL完成这⼀功能,对于开发⼈员来说,该过程是隐含的,由PB⾃动完成(2)驱动管理程序⽤ODBC.INI⽂件把数据源名映射成特定驱动程序的动态链接库处理⼏个ODBC初始化调⽤为每个驱动程序提供ODBC的⼊⼝点检验ODBC的调⽤参数和次序(3)驱动程序——处理ODBC函数调⽤,提交SQL请求到特定的数据源并把结果返回给应⽤程序。

(4)数据源——要存取的数据以及相关的操作系统,数据库管理系统和⽹络系统ODBC,PB访问数据库模式:PB应⽤程序——ODBC接⼝——数据库到⽹络的接⼝——⽹络——数据库到⽹络的接⼝——数据库服务器连接数据库(1)建⽴或配置与要连接的数据库对应的数据源ODBC数据源:应⽤ODBC配置⾯板;(2)建⽴数据库描述⽂件或设置连接参数。

(3)连接到ODBC数据库创建应⽤程序对象1.PB——应⽤对象代表应⽤程序,程序从应⽤对象开始运⾏,⾯向对象,⽤它开发的应⽤程序以对象和事件为基本特征。

第九章-宏

第九章-宏

使用GotoControl命令,可以把光标焦点 命令, 使用 命令 移到打开的窗体、 移到打开的窗体、窗体数据表或查询数据表中 当前记录的指定字段或控件上。如果要让某一 当前记录的指定字段或控件上。 特定的字段或控件获得焦点,可以使用该操作。 特定的字段或控件获得焦点,可以使用该操作。 使用StopMacro命令,可终止当前正在运 命令, 使用 命令 行的宏。 行的宏。 使用Close命令,可以关闭指定的Access 使用 命令,可以关闭指定的 命令 窗口;或者,如果没有指定窗口,则关闭活动 窗口;或者,如果没有指定窗口, 窗口。 窗口。
四、 OpenReport、GotoControl、 、 、 StopMacro、Close命令 、 命令
使用OpenReport命令, 使用OpenReport命令,通过设置该命令的操 OpenReport命令 作参数,可以在“设计”视图或“打印预览” 作参数,可以在“设计”视图或“打印预览” 中打开报表,或者可以立即打印报表,也可以 中打开报表,或者可以立即打印报表, 限制需要在报表中打印的记录数。 限制需要在报表中打印的记录数。
第九章 宏
9.1 宏的概述
一、什么是宏
宏是由一个或多个操作组成的集合。 宏是由一个或多个操作组成的集合。每个操 作都由命令来完成,而命令均由Access定义。 定义。 作都由命令来完成,而命令均由 定义 例如: 命令表示打开某个窗体。 例如:“OpenForm”命令表示打开某个窗体。 命令表示打开某个窗体 宏的作用是使操作自动化。 宏的作用是使操作自动化。
五、 ApplyFilter命令 命令
使用ApplyFilter命令可以对表、窗体或报 命令可以对表、 使用 命令可以对表 表应用筛选、查询或SQL WHERE子句,以便 子句, 表应用筛选、查询或 子句 限制或排序表的记录以及窗体或报表的基础表 或基础查询中的记录。 或基础查询中的记录。

第九章 菜单设计

第九章 菜单设计

设计下拉菜单程序通常分两步进行: 先通过菜编辑器设计菜单,即设计各菜单控件的属性(见表); 然后编写各菜单控件的Click事件过程。(见程序代码)
9.2 设计下拉菜单
表9-1
分类 主菜单1 菜单命令 菜单命令 分隔条 菜单命令 主菜单2 菜单命令 标题 文件(&F) 打开 保存 退出(&X) 编辑(&E) 剪切
第九章 菜单设计 学习目标:
学习菜单的类型和作用。 掌握Visual Basic 6.0菜单编辑器的使用。 掌握实现菜单功能的编程方法。
9.1 9.2 9.3
菜单设计基础 设计下拉菜单 菜单的控制
9.4
9.5
设计弹出式菜单
上机实训
9.1 菜单设计基础
9.1.1 菜单类型
菜单是应用程序为用户提供的一组命令,分为下拉菜单和弹出 菜单两种类型。 1).下拉菜单 下拉式菜单通常以菜单栏的形式出现在窗口标题栏的下面,其 组成与结构如图9-1所示。 主菜单访问键快捷键分隔条一级子菜单二级子菜单图9-1下拉式 菜单
9.1 菜单设计基础
8).“显示窗口列表(W)”复选框 即Windowslist属性的设置。在MDI(多文档界面)应用程序中 ,该复选框用于设置菜单控件是否包含一个打开的MDI子窗体 列表。 3.编辑菜单控件 利用菜单编辑器提供的编辑按钮,可编辑显示在菜单控件列表 框中的项目。
名称 索引 内缩符号 快捷键
mnuFile mnuFileOpen mnuFileSave mnuFileline mnuFileExit mnuEdit mnuEditCut ‥‥ Ctrl+X ‥‥ ‥‥ ‥‥ ‥‥ Ctrl+O Ctrl+S
菜单命令

excel窗体控件使用方法

excel窗体控件使用方法

excel窗体控件使用方法Excel窗体控件使用方法Excel窗体控件是一种可以在Excel表格中嵌入交互式控件的工具。

这些控件可以让用户通过填写表格来输入数据,或者通过点击按钮来执行特定的操作。

在本文中,我们将介绍如何使用Excel窗体控件。

第一步:打开开发者选项我们需要打开Excel的开发者选项。

在Excel中,选择文件菜单,然后选择选项。

在Excel选项窗口中,选择自定义功能区,然后勾选开发者选项。

点击确定按钮,Excel将为我们显示开发者选项卡。

第二步:插入窗体控件在开发者选项卡中,我们可以找到插入控件组。

选择插入控件组中的表单控件,然后选择我们需要插入的控件类型。

例如,我们可以选择插入文本框、下拉框、按钮等。

第三步:设置控件属性一旦我们插入了一个控件,我们需要设置它的属性。

右键单击控件,然后选择属性。

在属性窗口中,我们可以设置控件的名称、提示信息、默认值等。

第四步:编写VBA代码有些控件需要编写VBA代码才能实现特定的功能。

例如,我们可以在按钮控件上编写VBA代码,使其在点击时执行特定的操作。

要编写VBA代码,我们可以在开发者选项卡中选择Visual Basic,然后在Visual Basic编辑器中编写代码。

第五步:测试控件我们需要测试我们的控件是否按照预期工作。

我们可以通过填写表格、点击按钮等方式来测试控件。

如果控件没有按照预期工作,我们可以回到前面的步骤中检查设置和编码。

总结以上就是使用Excel窗体控件的基本步骤。

通过使用窗体控件,我们可以在Excel表格中添加交互式控件,从而使我们的表格更加灵活和易于使用。

常用窗体控件的使用

常用窗体控件的使用
14
(8)BackColor: 用来获取或设置控件的背景色。 (9)Font:
用来获取或设置控件的字体,包括字体名称、字号以
及是否以斜体、加粗和下划线显示。 (10)Locked: 确定是否可以移动控件或者调整控件的大小。 (11)TabIndex: 用来获取或设置控件的Tab键顺序。
15
(12)TextAlign: 用来确定文本对齐方式。
27
属性 ReadOnly
说明 文本框中的文本为只读
可在文本框中输入的最大字符数,默认值为最大 值,即32767个字符。 注意:由于使用的是Unicode字符,所以对中文和 英文的字符计数方法是相同的,即一个英文字符 的长度为1,一个汉字的长度也是1。 表示是否可在文本框中输入多行文本 用于屏蔽在单行文本框控件中输入的的密码字符。 注意:TextBox还有一个[UseSystemPasswordChar] 属性,若该属性为true,则无论在[PasswordChar] 属性中指定了哪一个字符,最终在TextBox中的文 本只能以系统默认的“*”来显示。
Visual C# 程序设计
常见窗体控件的使用
1
本章中我们将主要介绍以下内容: windows窗体 标签 按钮 文本框 单选按钮 复选按钮 列表框 组合框 ToolTip控件 PictureBox控件
2
利用C#编写GUI(Graphics User Interface)应用 程序的一般步骤: (1)建立“Windows应用程序”项目 (2)设计应用程序界面
10
模式对话框和非模式对话框
对话框可以分为模式对话框和非模式对话框两种。 模式对话框是指用户只能在当前的对话框窗体进行 操作,在该窗体关闭之前不能切换到程序的其他窗体, 通过窗体的ShowDialog()方法显示。 非模式对话框是指当前所操作的对话框窗体可以与 程序的其他窗体切换,通过窗体的Show()方法显示。

与初学者说说易语言的窗口控件

与初学者说说易语言的窗口控件
包容型的控件,象一个容器,里面可以放置其他的控件,甚至窗口。这类控件有:画板、外形框、分组框、选择框等。
我们在窗口中放置一个控件,属性夹中的“左边”和“顶边”是指该控件在窗口用户区的坐标。比如:我们在窗口中放一个按钮,按钮的左边是100,顶边是60,就是说该按钮在窗口用户区的位置是从左边开始100调整控件的位置。
控件多了,我们难免有些眼花缭乱,怎么办呢?我们可以用包容型的控件对我们的控件进行分组操作。
比如,我们把几个按钮放到一个分组框里,移动分组框,里面的控件也随着移动。这样,我们就可以只调整一个控件的位置,把别的控件也放到合适的位置上。
用包容型控件的时候,该控件内部的所有控件的位置都以该包容型控件为准。比如,在一个画板内放一个编辑框,编辑框的左边是20,顶边是5,就是说编辑框在画板的用户区内的位置是从左边开始20象素,从上边开始5象素。
所以,我们在使用包容型控件的时候也得特别小心,要不然,发现错了的时候,都不知道是怎么错的。
前面说了,窗口型控件在窗口上会占有一定的位置,这样,它们的摆放位置会直接影响用户的视觉感受。我们应该把控件按需要摆放,相近的操作,其控件也放在一块。比如,修改、保存、退出,我们可以用三个按钮,这三个按钮就应该放在一块,方便用户的操作。你不能这边放一个,那边放一个,让用户找不着到底在哪里。
这类控件,根据其内部是否可以放置其他控件,可以分为包容型控件和非包容型控件。
这样,我们从某一控件的位置也可以看出它是在一个窗口里还是在一个包容型的控件里。
比如,一个按钮在窗口的右下角,其左边和顶边却都是0,那么,它肯定是在一个包容型的控件里。
包容型控件里面的控件都是该包容型控件的子控件,包容型控件可视与否、禁止与否,直接影响到它的子控件。当你把一个包容型控件设为不可视的时候,它的子控件也不可视;包容型控件被禁止,其子控件也都不可操作。

窗体中不同控件的作用

窗体中不同控件的作用

窗体中不同控件的作用窗体中不同控件的作用在现代计算机界面设计中,窗体是一个常见的界面元素,通过窗体可以很好地组织和管理各种控件。

控件就是窗体中的各种功能模块,可以包括按钮、文本框、复选框、下拉菜单等等。

不同的控件有不同的作用和功能,下面将介绍几种常见的窗体控件及其作用。

1.按钮(Button)按钮是窗体中最常见的控件之一,用于触发某种操作或执行特定的功能。

按钮通常显示为一个带有文本或图标的可点击的矩形区域,用户点击按钮后,就会触发与之相关的事件或功能。

比如,我们经常见到的“确认”按钮、”取消“按钮等。

2.文本框(TextBox)文本框是用于接受用户输入或显示文本内容的控件。

用户可以在文本框中输入文字,也可以通过程序动态地改变文本框中的内容。

文本框可以用于输入用户名、密码、搜索关键字等。

在文本框中还可以进行文字的选择、复制、剪切和粘贴等操作。

3.复选框(CheckBox)复选框通常用于表示二进制的多选状态,可以允许用户在多个选项之间进行选择。

复选框显示为一个方框,用户可以选择或取消选择其中的选项。

复选框常用于设置软件的各种选项、筛选多个条件等。

4.单选框(RadioButton)单选框与复选框类似,但是单选框只允许用户在多个选项中选择一个。

单选框通常以圆点或圆圈的形式展示,用户点击其中一个单选框时,其他单选框就会自动取消选择。

单选框常用于需要用户在多个互斥选项中进行选择的场景。

5.下拉菜单(ComboBox)下拉菜单是一个组合框,通过点击下拉箭头展开一个菜单,用户可以从菜单中选择一个或多个选项。

下拉菜单通常用于提供一系列选项供用户选择,比如选择性别、选择日期等。

6.列表框(ListBox)列表框用于在窗体中展示一系列选项或数据,可以选择一个或多个选项。

用户可以通过滚动列表框来查看更多的选项,也可以通过点击其中一个选项来进行选择。

列表框常用于展示文件列表、联系人列表等。

通过使用这些不同的窗体控件,我们可以创建出生动、直观的界面,为用户提供良好的交互体验。

窗体控件实验报告

窗体控件实验报告

一、实验目的1. 熟练掌握窗体控件的基本使用方法;2. 了解不同窗体控件的功能和属性;3. 学会使用窗体控件进行简单的界面设计;4. 掌握窗体控件在程序中的应用。

二、实验原理窗体控件是图形用户界面设计的重要组成部分,通过使用窗体控件,可以方便地创建出具有丰富交互功能的界面。

在本次实验中,我们将使用C#编程语言,结合Windows窗体应用程序开发环境,学习窗体控件的基本使用方法和属性设置。

三、实验环境1. 开发工具:Visual Studio 2019;2. 编程语言:C#;3. 开发环境:Windows窗体应用程序。

四、实验内容与步骤1. 创建一个新的Windows窗体应用程序项目。

2. 在窗体上添加以下控件:(1)标签(Label):用于显示文本信息;(2)文本框(TextBox):用于输入和显示文本;(3)按钮(Button):用于触发事件;(4)单选按钮(RadioButton):用于选择多个选项中的一个;(5)复选框(CheckBox):用于选择多个选项;(6)下拉列表框(ComboBox):用于选择列表中的某个选项;(7)滚动条(HScrollBar):用于滚动窗体内容。

3. 设置控件的属性:(1)标签(Label):设置Text属性为“请输入姓名:”,设置Font属性为“微软雅黑,12号”;(2)文本框(TextBox):设置Name属性为“txtName”,设置Font属性为“微软雅黑,12号”;(3)按钮(Button):设置Name属性为“btnSubmit”,设置Text属性为“提交”,设置Font属性为“微软雅黑,12号”;(4)单选按钮(RadioButton):设置Name属性为“rdMale”,设置Text属性为“男”,设置Font属性为“微软雅黑,12号”;添加另一个单选按钮,设置Name 属性为“rdFemale”,设置Text属性为“女”,设置Font属性为“微软雅黑,12号”;(5)复选框(CheckBox):设置Name属性为“chkAgree”,设置Text属性为“我同意以下条款”,设置Font属性为“微软雅黑,12号”;(6)下拉列表框(ComboBox):设置Name属性为“cmbCountry”,设置Font属性为“微软雅黑,12号”;(7)滚动条(HScrollBar):设置Name属性为“hscRoll”,设置Font属性为“微软雅黑,12号”。

VB常用控件介绍

VB常用控件介绍

VB常用控件介绍VB(Virtual Basic)是一种面向对象的编程语言,常用于开发各种图形用户界面(GUI)应用程序。

在VB中,控件是构成用户界面的基本元素,通过控件可以实现用户与程序的交互。

下面是一些常用的VB控件的介绍。

1. 按钮控件(Button):按钮是VB中最常用的控件之一,用于触发一些事件或执行一些动作。

通过设置按钮的文字、大小、位置和事件处理程序,可以实现各种用户交互功能。

3. 文本框控件(TextBox):文本框用于接收用户的输入,并可以将输入的文本保存到变量中。

可以设置文本框的大小、位置、边框样式等属性,并可以通过事件处理程序响应用户输入的变化。

4. 列表框控件(ListBox):列表框用于显示一组选项,并允许用户从中选择一个或多个选项。

可以通过添加和移除选项,以及设置列表框的大小、位置、滚动条等属性来定制列表框的外观和功能。

6. 复选框控件(CheckBox):复选框用于表示一个状态,可以被选中或取消选中。

常用于表示一个二进制选项,比如启用/禁用一些功能。

可以设置复选框的大小、位置、文本等属性,并可以通过事件处理程序获取用户的选择。

7. 单选按钮控件(RadioButton):单选按钮用于表示一组互斥的选项,用户只能选择其中的一个。

常用于表示一个多项选择,比如选择性别。

可以设置单选按钮的大小、位置、文本等属性,并可以通过事件处理程序获取用户的选择。

8. 进度条控件(ProgressBar):进度条用于显示任务的进度,可以根据任务的完成情况来改变进度条的长度和显示。

可以通过设置进度条的最小值、最大值、当前值等属性,以及处理进度改变的事件来定制进度条的功能。

9. 图像框控件(PictureBox):图像框用于显示图像或图表,可以加载本地或网络上的图像文件,并可以设置图像框的大小、位置等属性。

可以通过处理鼠标点击、鼠标移动等事件来实现与图像相关的交互功能。

10. 文件对话框控件(FileDialog):文件对话框用于让用户选择文件或保存文件,可以通过设置对话框的类型、过滤条件、默认目录等属性来限制用户的选择范围,并可以通过事件处理程序获取用户选择的文件路径。

MiniGUI窗口与控件

MiniGUI窗口与控件

CreateInfo.dwStyle 窗口风格CreateInfo.spCaption 窗口的标题CreateInfo.dwExStyle 窗口的附加风格CreateInfo.hMenu 附加在窗口上的菜单句柄CreateInfo.hCursor 在窗口中所使用的鼠标光标句柄CreateInfo.hIcon 程序的图标CreateInfo.MainWindowProc 该窗口的消息处理函数指针CreateInfo.lx 窗口左上角相对屏幕的绝对横坐标,以象素点表示CreateInfo.ty 窗口左上角相对屏幕的绝对纵坐标,以象素点表示CreateInfo.rx 窗口右下角相对屏幕的绝对横坐标,以象素点表示CreateInfo.by 窗口右下角相对屏幕的绝对纵坐标,以象素点表示CreateInfo.iBkColor 窗口背景颜色CreateInfo.dwAddData 附带给窗口的一个32 位值CreateInfo.hHosting 窗口消息队列的托管窗口MiniGUI中控件类的定义如下:控件类的主要元素如下:⏹类名spClassName:区别于其它控件类的类名称⏹窗口过程函数指针WinProc:该类控件的实例均使用该窗口过程函数,它处理所有发送到控件的消息并定义控件的行为和特征⏹类风格dwStyle:定义窗口的外观和行为等的风格,该类的所有实例将具有该普通风格。

⏹扩展的类风格dwExStyle:定义窗口的扩展风格,该类的所有实例将具有该扩展风格。

⏹类光标hCursor:定义该类窗口中光标的形状⏹背景色iBkColor:定义该类窗口的背景颜色象素值⏹类的私有附加数据dwAddData:系统为该类保留的附加空间MiniGUI中控件类操作的相关函数如下:该函数注册一个控件类。

该函数注销一个控件类。

该函数获取指定控件的类名。

.该函数获取指定控件类的类信息。

该函数设置指定控件类的类信息。

MiniGUI-Lite 为应用程序使用GB2312 输入法提供了如下的函数:该函数创建一个GB2312 的输入法窗口。

vs2005 C# 主窗体和子窗体之间控件相互调用

vs2005 C# 主窗体和子窗体之间控件相互调用

vs2005 C# 主窗体和子窗体之间控件相互调用最近工作用到了C#开发Form应用程序,其中用到了主窗体和子窗体之间控件的相互调用。

查了一些资料,现在根据自己写的一个小示例总结如下。

1.主窗体中调用子窗体控件在主窗体中调用子窗体的控件很简单,只要在主窗体中创建子窗体的时候保留所创建的子窗体对象即可。

2.子窗体中调用主窗体控件方法如下:(1) 在主窗体类中定义一个静态数据成员,来保存当前主窗体对象,如下:public static MainForm pMainWin = null;(2) 然后在主窗体构造函数中,给上述静态成员初始化,如下:public MainForm(){InitializeComponent();pMainWin = this;//这里是初始化}(3) 在子窗体中调用主窗体,可以通过如下方式:”主窗体类名.pMainWin”,例如:this.Text_S3.Text = MainForm.pMainWin.Text_M1.Text;this.Text_S4.Text = MainForm.pMainWin.Text_M4.Text;3.以上所做的,只是让你能够访问当前主窗体对象或子窗体对象,如果想操作控件,可以直接修改控件的成员访问符,即可以把”private”修改成”public”。

当然最好的还是可以用增加公有属性的做法,这样不会破坏类本身的封装。

如下:public string Text_Box{get {return Text_S2.Text;}set { Text_S2.Text = value; }}4.现在把一个小示例的代码粘贴如下:(1)建立主窗体,添加四个文本框控件:Text_M1,Text_M4,用来主窗体中输入数据传给子窗体;Text_M2,Text_M3,用来显示子窗体中传过来的数据。

一个按钮Btn_M1用来调用子窗体。

Btn_M1按钮事件中添加代码,现把主窗体代码显示如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace MainSubControlpublic partial class MainForm : Form{//在主窗口类中定义一个静态成员,来保存当前主窗体对象,以便子窗体中调用其控件//子窗体调用时,通过"主窗体类名.pMinWin",然后在其构造函数中,给静态成员初始化.public static MainForm pMainWin = null;public MainForm(){InitializeComponent();pMainWin = this;}private void Btn_M1_Click(object sender, EventArgs e){SubForm SubFormE = new SubForm();//由于下面要调用到子窗体SubFormE的Text_S1控件,所以需要把Text_S1控件的成员访问符号由private改成public即可.//调用子窗体SubFormE的Text_S2控件是通过增加了一个public属性来调用的,不是修改访问修饰符号,当然也可以这么做//也可以通过增加public方法来实现.if (SubFormE.ShowDialog() == System.Windows.Forms.DialogResult.OK){this.Text_M2.Text = SubFormE.Text_S1.Text;this.Text_M3.Text = SubFormE.Text_Box;return;}return;}private void Btn_MExit_Click(object sender, EventArgs e){this.Close();}private void MainForm_Load(object sender, EventArgs e){}}}(2)建立子窗体,添加四个文本框:Text_S1,Text_S2,用来子窗体输入数据传给主窗体来显示;Text_S3,Text_S4,用来显示主窗体传过来的数据。

第9章 界面设计(2)

第9章 界面设计(2)
①在Toolbar控件中可加入按钮,每个按钮都可
以载入自己的图像,设置标题和提示字符串。
② Toolbar控件为其中的按钮提供了分组功能,
用户只需设置一个按钮的Style属性就能实现 按钮间的分组。
③ Toolbar控件还是一个容器类控件,可在其
中加入组合框、文本框等其它控件。
结束
工具栏的制作 ①添加ToolBar控件和ImageList控件 ②用ImageList控件保存要使用的图形 ③创建ToolBar控件,并将ToolBar控件与 ImageList ImageList控件相关联,创建Button对象 Button ④编写Button的Click事件过程。 单击工具栏控件时触发Click事件,单击 工具栏上按钮时触发ButtonClick事件,并返 回一个Button参数(表明按下哪个按钮)
结束
说明: 说明:
窗体有其特殊性,它既是窗体类,也是窗体对象, 与窗体上的控件具有不同的性质。 为了在程序运行时建立若干个子窗体以存取不同 的文档,我们先创建一个子窗体作为这个应用程 序文档的模板,通过对象变量来实现。 Dim Newdoc AS New MDIChildForm1 “声明并建立一个名为 声明并建立一个名为Newdoc窗体变量 声明并建立一个名为 窗体变量 Newdoc.show “显示新窗体 显示新窗体
结束
例1: 设计一个多文档记事本程序,菜单设计 如下图所示。单击“新建”能创建新的文档 窗口;单击“关闭”则关闭当前活动文档窗 口;单击退出则结事本应用程序;单击“窗 口”菜单下的某个菜单项则按要求排列所有 窗口
结束
菜单“新建”项代码: Dim n% Private Sub new_Click() Dim newform As New myform n=n+1 newform.Caption = "文档 & n 文档" 文档 newform.Show End Sub 菜单“关闭”项代码: Private Sub close_Click() Unload MDIForm1.ActiveForm End Sub

matlab第九讲

matlab第九讲

Parent、UserData、Visible等公共属性外,还有一些常用 的特殊属性。 1.基本控制属性 (1)Style属性。 (2)Tag属性。 (3)String属性。 (4)Type属性。 (5)BackgroundColor、ForegroundColor属性。 (6)Position属性。 (7)Units属性。 (8)字体属性。包括: FontAngle属性。
第九章 图形用户 界面设计
目 录
9.1用户界面对象 9.2图形用户界面设计工具 9.3GUI编程
本章学习目标 掌握GUI开发环境(GUIDE)的使用方法。 掌握各种控件的属性和创建方法。 掌握菜单设计的方法。 掌握回调函数的使用方法。
9.1用户界面对象
在MATLAB中,每个图形用户界面都是由若干个不同的用户 界面(UI)对象组成的。用户界面也是有层次的,其层次结 构如图所示。
9.2.3菜单编辑器 利用菜单编辑器可以创建、设置、修改下拉式菜单和快捷菜 单。从GUI设计窗口的工具栏上选择”Menu Editor”命令按 钮 ,或者选择“Tool”菜单中的“Menu Editor”命令,即 可 打开菜单编辑器。 1.创建菜单 菜单编辑器左上角的第1个按钮用于创建一级菜单项。用户 可以通过单击它,来创建一级菜单。第二个按钮用于创建一 级菜单的子菜单,在选中已经创建的一级菜单后,可以单击 该按钮来创建选中的一级菜单项的子菜单。 菜单编辑器有两个选项卡,选择MenuBar选项卡,可以创 建下拉式菜单。选择Context Menus选项卡,可以创建快 捷菜单。
1.事件驱动机制 面向对象的程序设计是以对象感知事件的过程为编程单位, 这种程序设计的方法称为事件驱动机制。 2.回调函数 回调函数就是处理该事件的程序,它定义对象怎样处理信息 并响应某事件,该函数不会主动运行,是由主控程序调用的。 gcbo为正在执行回调的对象句柄,可以使用它来查询该对象 的属性。例如: get(gcbo,’Value’) MATLAB将Tag属性作为每一个控件的唯一标识符。GUIDE 在生成M文件时,将Tag属性作为前缀,放在回调函数关键 字Callback前,通过下画线连接而成函数名。例如:

VBA中窗体和控件的设计和使用技巧

VBA中窗体和控件的设计和使用技巧

VBA中窗体和控件的设计和使用技巧在Excel的VBA编程环境中,窗体和控件是非常有用的工具,可以提供一个可交互的界面,使用户能够方便地与程序进行互动。

本文将介绍一些在VBA中设计和使用窗体与控件的技巧,帮助您更好地利用这些功能。

1. 窗体的设计和创建窗体是用来容纳和组织控件的容器,我们可以在窗体上添加各种控件,如按钮、文本框、复选框等。

以下是一些窗体设计和创建的技巧:1.1 设计图形化界面:在Excel的VBA环境中,打开“工具箱”窗口,选择“用户窗体”并插入一个窗体对象。

然后,您可以使用工具箱中的各种控件在窗体上构建图形化的界面。

1.2 窗体属性设置:窗体对象有许多属性可以设置,如大小、位置、背景颜色等。

您可以通过代码来设置这些属性,也可以通过右键单击窗体并选择“属性”来直接修改属性值。

1.3 窗体样式:您可以通过设置窗体的样式属性来美化窗体的外观。

可以选择窗体的边框样式、标题栏样式、背景颜色等。

2. 控件的添加和布局控件是窗体上的各个元素,用于与用户交互和显示信息。

下面是一些控件添加和布局的技巧:2.1 添加控件:在窗体上插入控件前,您需要确保已经打开了“工具箱”窗口。

然后,您可以从工具箱中选择对应的控件,并将其拖放到窗体上。

2.2 控件属性设置:与窗体类似,控件也有一些属性需要设置。

通过代码或者属性窗口,您可以设置控件的大小、位置、字体颜色、字体大小等。

2.3 控件布局:为了使窗体看起来整洁并且易于使用,您可以使用布局控件(如分组框)将相关的控件放在一起。

另外,您还可以使用布局管理器(如表格布局管理器)来自动调整控件的位置和大小。

3. 控件的事件处理控件的事件是指当用户与控件进行交互时,所触发的特定动作。

以下是一些控件事件的处理技巧:3.1 事件的绑定:在VBA中,控件的每个事件都有一个对应的子过程。

您可以通过双击控件,或者在窗体的代码窗口中选择控件和事件,并自动生成事件处理程序的框架。

VB常用控件介绍

VB常用控件介绍

VB常用控件介绍在Visual Basic (VB)中,控件是构建图形用户界面的基本元素。

它们允许用户与应用程序进行交互,并显示和接受数据。

以下是VB中常用的控件的介绍:1. Label控件:用于在窗体上显示文本。

可以设置文本的颜色、字体、大小等属性。

2. TextBox控件:用于接收用户的输入文本。

可以用于输入单行或多行文本。

4. ListBox控件:用于显示一个列表,用户可以从中选择一个或多个选项。

5. Button控件:用于触发一个事件或进行一些操作。

可以设置按钮的文本、样式和大小等。

6. RadioButton控件:用于提供一组互斥的选项。

用户只能选择其中的一个选项。

7. CheckBox控件:用于提供一组独立的选项。

用户可以选择其中的一个或多个选项。

8. PictureBox控件:用于显示图像。

可以从文件或代码中设置图像。

9. Timer控件:用于定时触发事件。

可以设置定时器的间隔时间。

10. Progress Bar控件:用于显示操作的进度。

可以根据进度的百分比设置进度条的值。

11. ScrollBar控件:用于提供滚动的功能。

可以用于水平或垂直的滚动。

12. ListView控件:用于显示一个可自定义的列表。

可以显示图标、列表、详细信息等视图。

13. TreeView控件:用于显示一个树形结构的列表。

可以展开和折叠节点。

14. MenuStrip控件:用于创建菜单。

可以设置菜单项和子菜单。

16. DateTimePicker控件:用于选择日期和时间。

可以设置日期和时间的格式。

17. OpenFileDialog控件:用于打开文件对话框。

可以选择打开的文件。

18. SaveFileDialog控件:用于保存文件对话框。

可以选择保存的文件和路径。

19. PrintDialog控件:用于打印对话框。

可以选择打印的设置和打印的内容。

20. ColorDialog控件:用于颜色选择对话框。

可以选择颜色。

duilib 子窗口 回调函数

duilib 子窗口 回调函数

duilib 子窗口回调函数关于"duilib"和子窗口回调函数的问题,我可以给出以下全面的回答。

首先,让我们来谈谈"duilib"。

"duilib"是一个基于C++的轻量级、灵活的UI框架,它提供了丰富的UI控件和布局管理器,可以帮助开发者快速构建Windows桌面应用程序。

"duilib"具有良好的扩展性和灵活性,可以满足各种复杂UI界面的需求。

它的使用相对简单,文档和示例丰富,因此备受开发者青睐。

接下来,我们来谈谈子窗口。

在"duilib"中,子窗口是指嵌入在主窗口中的一个独立的窗口控件,通常用来承载特定的功能模块或内容。

子窗口可以是对话框、面板、标签页等形式,通过在主窗口中创建子窗口控件并设置相应的属性,可以实现子窗口的展示和管理。

最后,让我们来讨论子窗口的回调函数。

在"duilib"中,可以通过设置子窗口的回调函数来处理子窗口中发生的事件,比如鼠标点击、键盘输入、控件操作等。

通过回调函数,可以实现子窗口与主窗口或其他控件之间的交互和通信,从而实现更复杂的功能和交互效果。

在设置子窗口的回调函数时,需要注意合理的事件处理逻辑和错误处理,以确保程序的稳定性和可靠性。

综上所述,"duilib"是一个灵活强大的UI框架,可以帮助开发者快速构建Windows桌面应用程序;子窗口是"duilib"中常用的窗口控件,用于承载特定功能模块或内容;子窗口的回调函数则是用来处理子窗口中发生的事件,实现子窗口与其他控件的交互和通信。

希望这些信息能够帮助你更好地理解和应用"duilib"和子窗口回调函数。

子窗口控制学习

子窗口控制学习
第23页/共25页
ENVIRON例子
• 实例 • 源码
第24页/共25页
感谢您的观看。
第25页/共25页
• 绘制 • WM_CTLCOLOREDIT
第17页/共25页
子窗口——>父窗口
• WM_COMMAND
• LOWORD(wParam) HIWORD(wParam) lParam
• 子窗口ID
通知码
子窗口句柄
• 通知码
• EN_SETFOCUS、EN_KILLFOUCUS、EN_CHANGE、EN_UPDATE、 E N _ E R R S PA C E 、 E N _ M A X T E X X T 、 E N _ H S C R O L L 、 E N _ V S C R O L L
第4页/共25页
父窗口——>子窗口
• SendMessage • BM_GETCHECK、BM_SETCHECK、BM_GETSTATE、BM_SETSTATE、BM_SETSTYLE、 BM_CLICK、BM_GETIMAGE、BM_SETIMAGE
第5页/共25页
按钮样式
• 实例 • 源码
第6页/共25页
• 绘制 • WM_CTLCOLORLISTBOX
第21页/共25页
WM_COMMAND
• WM_COMMAND
• LOWORD(wParam) HIWORD(wParam) lParam
• 子窗口ID
通知码
子窗口句柄
• 通知码
• LBN_DBLCLK、LBN_ERRSPACE、LBN_KILLFOCUS、 LBN_SELCANCEL、LBN_SELCHANGE、LBN_SETFOCUS

mfc 子控件间隔

mfc 子控件间隔

mfc 子控件间隔MFC(Microsoft Foundation Classes)是微软提供的一组C++类库,用于开发Windows应用程序。

在MFC中,子控件(例如按钮、文本框等)之间的间隔可以通过设置控件的布局属性来调整。

MFC提供了一些布局类,比如CRect、CSize和CPoint等,用于控制控件的位置和大小。

可以使用这些类的成员函数来设置子控件之间的间距。

例如,使用CRect类的成员函数来设置两个按钮之间的间距:```cppCRect rectButton1, rectButton2;GetDlgItem(IDC_BUTTON1)->GetWindowRect(rectButton1); GetDlgItem(IDC_BUTTON2)->GetWindowRect(rectButton2);int spacing = 10; // 间距大小,可根据需要自行调整rectButton2.OffsetRect(rectButton1.Width() + spacing, 0); GetDlgItem(IDC_BUTTON2)->MoveWindow(rectButton2);```以上代码示例中,假设IDC_BUTTON1和IDC_BUTTON2是两个按钮的控件ID,通过GetDlgItem函数获取按钮控件的指针,再使用GetWindowRect函数获取按钮的矩形区域。

然后,通过OffsetRect函数调整第二个按钮的位置,使其位于第一个按钮的右侧,并设置间距为spacing。

最后,使用MoveWindow函数将第二个按钮移动到新的位置。

通过调整布局属性和使用相应的MFC布局类,可以实现子控件之间的间距设置。

具体的间距大小和布局方式可以根据实际需求进行调整。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果有必要,无论矩形是否被选中,都可以给ChildProc增加一种向其父窗口消息处理程序(WndProc)发送消息的手段。通过 呼叫GetParent,子窗口消息处理程序能确定其父窗口的窗口句柄:
hwndParent = GetParent (hwnd) ;
其中,hwnd是子窗口的窗口句柄。它可以向其父窗口消息处理程序发送消息: SendMessage (hwndParent, message, wParam, lParam) ;
wndclass.lpfnWndProc
= WndProc ;
wndclass.cbClsExtra
=0;
wndclass.cbWndExtra
=0;
wndclass.hInstance
= hInstance ;
wndclass.hIcon
= LoadIcon (NULL, IDI_APPLICATION) ;
事实上,这是在建立一个「子窗口控件」。当子窗口的状态改变时,子窗口处理鼠标和键盘消息并通知父窗口。使用这种方 法,子窗口就变成了其父窗口的高阶输入设备。它将与自己在屏幕上的图形外观相应的处理,对使用者输入的响应以及在发 生重要的输入事件时通知另一个窗口的方法给封装起来。
虽然您可以建立自己的子窗口控件,但是也可以利用一些预先定义的窗口类别(和窗口消息处理程序)来建立标准的子窗口 控件,您一定在别的Windows程序中看到过这些控件。这些控件采用的形式有:按钮、复选框、编辑方块、清单方块、下拉 式清单方块、字符串卷标和卷动列。例如,如果想在您的电子表格程序的某个角落放置一个标有「Recalculate」的按钮, 那么您可以通过呼叫CreateWindow来建立这个按钮。您不必担心鼠标操作、按钮显示操作或按下该按钮时的自动闪烁操作, 这些是由Windows内部完成的。您所要做的只是拦截WM_COMMAND消息-当按钮被按下时,它通过这一消息通知您的窗口消息 处理程序。真的这样简单吗?是的,一点也没错。
szBuffer[50] ;
static int
cxChar, cyChar ;
HDC
hdc ;
PAINTSTRUCT
ps ;
int

switch (message) { case WM_CREATE :
cxChar = LOWORD (GetDialogBaseUnits ()) ; cyChar = HIWORD (GetDialogBaseUnits ()) ;
#define NUM (sizeof button / sizeof button[0])
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ;
DispatchMessage (&msg) ; } return msg.wParam ; }
BS_AUTOCHECKBOX, TEXT ("AUTOCHECKBOX"),
BS_RADIOBUTTON, TEXT ("RADIOBUTTON"),
BS_3STATE,
TEXT ("3STATE"),
mk:@MSITStore:C:\Documents%20and%20Settings\huangnaiyu\桌面\Programm... 2010-9-3
struct
{
int
iStyle ;
TCHAR *
szText ;
}
button[] =
{
BS_PUSHBUTTON, TEXT ("PUSHBUTTON"),
BS_DEFPUSHBUTTON, TEXT ("DEFPUSHBUTTON"),
BS_CHECKBOX,
TEXT ("CHECKBOX"),
Windows程序设计的文件在两个地方讨论了子窗口控件:首先是,简单的常用控件,我们可以在/Platform SDK/User Interface Services/Controls的文件所描述的无数对话框中看到。这些子窗口包括按钮(其中包括复选框的单选按钮)、 静态控件(例如文字卷标)、编辑方块(您可以在此编辑一行或多行文字)、卷动列、清单方块和下拉式清单方块。除下拉
for (i = 0 ; i < NUM ; i++) hwndButton[i] =CreateWindow ( TEXT("button"),button[i].szText,
WS_CHILD | WS_VISIBLE | button[i].iStyle, cxChar, cyChar * (1 + 2 * i), 20 * cxChar, 7 * cyChar / 4,
= szAppName ;
if (!RegisterClass (&wndclass))
mk:@MSITStore:C:\Documents%20and%20Settings\huangnaiyu\桌面\Programm... 2010-9-3
子窗口控件
页码,4/68
{ MessageBox ( NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ; return 0 ;
子窗口控件
页码,1/68
子窗口控件
壹佰软件开发小组 整理编译
回忆第七章的CHECKER程序。这些程序显示了矩形网格。当您在一个矩形中按下鼠标按键时,该程序就画一个x;如果您再按 一次鼠标按键,那么x就消失。虽然这个程序的CHECKER1和CHECKER2版本只使用一个主窗口,但CHECKER3版本却为每个矩形 使用一个子窗口。这些矩形由一个叫做ChildProc的独立窗口消息处理程序维护。
mk:@MSITStore:C:\Documents%20and%20Settings\huangnaiyu\桌面\Programm... 2010-9-3
子窗口控件
页码,5/68
szUnd[] = TEXT ("_______ ______ ______"),
szFormat[] = TEXT ("%­16s%04X­%04X %04X­%04X"),
BTNLOOK.C ­­ Button Look Program
(c) Charles Petzold, 1998
­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­*/
#include <windows.h>
子窗口控件
页码,3/68
BS_AUTO3STATE, TEXT ("AUTO3STATE"),
BS_GROUPBOX,
TEXT ("GROUPBOX"),
BS_AUTORADIOBUTTON, TEXT ("AUTORADIO"),
BS_OWNERDRAW,
TEXT ("OWNER@MSITStore:C:\Documents%20and%20Settings\huangnaiyu\桌面\Programm... 2010-9-3
子窗口控件
页码,2/68
式清单方块以外,在Windows 1.0中就包括了这些控件。这部分的Windows文件还包括Rich Text文字编辑控件,它与编辑方 块相似,但还允许编辑不同字体与样式的格式化文字,以及桌面应用工具列。
相对于「常用控件」,还有一些神秘的特殊控件。这些控件在/Platform SDK/User Interface Services/Shell and Common Controls/Common Controls描述。本章不讨论常用控件,但它们将出现在本书的其它部分。在这部分的Windows文件中,很 容易找到您想从别的Windows应用程序中应用到您自己的应用程序里头那些部分信息。
直接在您的窗口上使用子窗口控件完成某些任务,这些任务的层次低于在对话框中使用子窗口控件所要求的层次。这里,对 话框管理器在您的程序和控件之间增加一个隔离层。值得一提的,您可能会发现在您的窗口上建立的子窗口控件,没有利用 Tab键或方向键将输入焦点从一个控件移动到另一个控件的内部功能。子窗口控件能够获得输入焦点,但是获得后,它将不 能把输入焦点传回给父窗口。这就是本章要解决的问题。
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("BtnLook") ;
HWND
hwnd ;
MSG
msg ;
WNDCLASS
wndclass ;
wndclass.style
= CS_HREDRAW | CS_VREDRAW ;
那么message应该设定为什么呢?您可以随意地设定,数值大小可以与WM_USER相同或更大,这些数字代表和预先定义的WM_ 消息不冲突的消息。也许对这个消息,子窗口可以将wParam设定为它的子窗口ID。如果在该子窗口单击,那么lParam可以被 设为1;如果未在该子窗口上单击,那么lParam将被设为0。这是处理方式的一种选择。
相关文档
最新文档