首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

创建可调大小的用户窗体——使用VBA

标签:VBA 在上篇文章:创建可调大小的用户窗体——使用Windows API中,我们使用Windows API实现了允许用户可以调整用户窗体的大小。本文仅使用VBA来实现同样的效果。...VBA解决方案:用户窗体包含一个对象,单击该对象时会记录鼠标的位置;随着鼠标的移动,用户窗体及其对象将根据新的鼠标位置重新定位或调整大小;当释放鼠标按钮时,停止移动以调整大小。...示例用户窗体 在VBE中,插入一个用户窗体,如下图1所示。...标签lblResizer的设置如下图2所示,标题为字符“y”并设置Wingdings 3字体,使之以小三角的形式显示在窗体右下角,让用户在此单击以调整窗体大小。...lblResizer_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) '检查用户窗体的大小是否调整得太小

1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    创建可调大小的用户窗体——使用Windows API

    标签:VBA,Windows API 在使用VBA创建用户窗体时,通常会将其设置为特定的大小。然而,通过一些编码技巧,可以为其实现类似的调整大小效果。...本文代码能够实现:允许调整用户窗体的大小;调整窗体大小时用户窗体的Resize事件能捕获;每次Resize事件后,对象的大小或位置都会发生变化。...+ (WS_THICKFRAME) End If '应用新样式 SetWindowLong windowHandle, GWL_STYLE, windowStyle '使用新样式重新创建用户窗体窗口...DrawMenuBar windowHandle End Sub 上面的两个代码段创建了一个可重复使用的过程,可以使用它来打开或关闭调整用户窗体大小的设置。...为此,需要从该用户窗体的底部和右侧了解这些对象的位置。如果与底部和右侧保持相同的距离,则这些元素似乎与该用户窗体同步移动。

    45030

    idea创建gradle多模块,嵌套模块的方法

    idea创建gradle多模块,嵌套模块的方法 1.首先创建gradle项目,项目结构如下: myfirstgradle sub1 basesub111 three111...2.创建模块 2.1-创建模块-选择Gradle 2.2-创建模块-选择Gradle-设置模块名称-关键注意Location是在根目录下面 2.3-创建模块-选择Gradle-多级子模块-注意Location...路径,因为在填写name的时候,路径会变化,注意 2.4-创建模块-选择Gradle-多级子模块-注意Location路径,BUG,需要调整Location上下级路径关系 2.5-创建模块-选择Gradle...-多级子模块-注意Location路径,BUG,需要调整Location上下级路径关系-调整后的 3.创建后的效果 3.1-创建后的结构 3.2-上级的src目录可以删除 3.3 settings.gradle...name = 'basesub333' 4.多模块的应用 4.1-basesub222模块引用:sub1:basesub111:three111的模块中的类 4.2-应用-three111模块提供计算方法

    16210

    字典的创建必须使用dict()函数(vba dictionary 嵌套)

    增加 Bean 存枚举值, 使用享元模式存储 Bean 示例 使用枚举管理数据字典的好处 git repo 背景 开发 Java 项目时, 数据字典的管理是个令人头痛的问题, 至少对我而言是这样的, 我所在的上一家公司项目里面对于字典表的管理是可以进行配置的..., 他们是将字典表统一存放在一个数据库里面进行配置, 然后可以由管理员进行动态的实现字典表的变更....枚举的优化策略 按照上面的写法, 里面的很多方法都是可以相同的, 甚至连 value, 和 label 成员变量都是相同的, 那么像这类重复代码使用继承是最好不过的....然而枚举中是不能够使用继承的, 至于之后的 jdk 能不能实现枚举继承我们先不讨论, 现在至少 jdk1.8 版本的枚举是不能够使用继承的....代码 示例 接下来实际演示一下这种方式的优势, 例如上面的两张表, 我们就可以写成下面的代码 是不是很简单, 每一张表对应一个枚举管理类, 表中的字典项, 对应类中的一个枚举类, 很方便的将各个枚举分离出来

    2.6K20

    汇编语言学习笔记-创建最基本的windows窗体

    1 如果你不熟悉开发环境的搭建请看此文: http://www.cnblogs.com/liulun/archive/2009/12/26/1632985.html 2 如果你看了此文的所有注释仍看不懂...,请暂且不要再看本系列的其他文章了,先学学WINDOWS API的相关知识吧 3 以上代码摘自一个汇编语言全接触的CHM 是一个名叫Lxx的前辈翻译的 4 希望得到大家的支持 .386 .model...,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD;子函数的定义,包括函数名称,参数类型,参数名称 ;子程序的开始必须先定义该子程序用到的变量 LOCAL...wc.hIconSm,eax invoke LoadCursor,NULL,IDC_ARROW;获取一个系统光标 mov wc.hCursor,eax invoke RegisterClassEx,addr wc;注册窗体...AppName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInst,NULL;创建窗体

    59730

    Excel实战技巧66:创建向导样式的数据输入窗体6

    经过上文中一系列的设计和编码,我们的向导应用程序终于完成,现在是测试的时候了! 测试HRWizard应用程序 测试时间到了!...运行用户窗体,我们在向导中的每一界面输入数据,并将其保存到EmpData工作表中。...图29 下图30至34中显示了一些简单的输入值以及在EmpData工作表中保存的数据。 ? 图30:第1个界面 ? 图31:第2个界面 ? 图32:第3个界面 ? 图33:第4个界面 ?...在学习过程中,有一些心得与大家分享如下: 1.学习并研究优秀的示例是一种好的学习方法,不仅能够开阔视野,而且能够学到好的编程习惯和好的技巧,并且在实践中借鉴他人的做法,能够增加经验,少走弯路。...4.这个示例中建立起了自已的对象层次模型,值得借鉴。 5.通过使用类,可以更好地组织和管理代码。虽然编写类模块可能会花费一些时间,但这些努力绝对是值得的。并且,很多类都可以在其它地方重复使用。

    68510

    Excel实战技巧66:创建向导样式的数据输入窗体2

    学习Excel技术,关注微信公众号: excelperfect 在开始阅读本文前,请先学习下列内容: Excel实战技巧66:创建向导样式的数据输入窗体1 下面的内容详细讲解这个引导用户为新员工输入信息的向导样式用户窗体是如何实现的...向导窗体设计 1.打开VBE,添加新的用户窗体。 2.将该用户窗体的高度设置为320,宽度为332。 3.将用户窗体重命名为HRWizard。...6.设置该控件的Height属性为216,Width属性为270。 7.将其在用户窗体中居中,在用户窗体底部留出空间。 此时的用户窗体如下图7所示。 ?...1.在多页控件顶部的选项卡中单击右键。 2.在快捷菜单中选择“新建页”,如下图8所示。 ? 图8 3、重复上面添加页的步骤。 此时的用户窗体如下图9所示。 ?...图9 在用户窗体中添加控件 在“Page1”中添加的控件如下表所示,与EmpData工作表中个人信息列标题一致。 表:HRWizard用户窗体控件 ? 图10 在多页控件的下方添加4个命令按钮。

    99440

    Excel实战技巧66:创建向导样式的数据输入窗体1

    引言:本文来源于Jim DeMarco的《Pro Excel 2007 VBA》第4章的示例,详细讲解了如何使用用户窗体来制作一个向导样式的数据输入窗体,非常适合于学习使用VBA来创建用户窗体的知识和技巧...,也为制作向导样式的用户窗体界面提供了参考模板。...向导样式的数据输入是一种非常普遍的技术,用于帮助用户输入较多的或复杂的数据。向导允许将数据拆分成相互联系的多个部分,通过按顺序输入数据的过程来指导用户完成数据输入。...其中,名为EmpData的工作表为员工数据库工作表,名为ListMgr的工作表包含在创建数据输入窗体向导时使用的不同的列表。...图5:员工访问信息 本示例创建的向导样式数据输入窗体如下图6所示,4个界面,分别用来输入4部分数据。 ?

    1.2K10

    Excel实战技巧66:创建向导样式的数据输入窗体5

    到目前为止,我们已经完成了最艰难的工作。接下来,我们来编写用户窗体代码,将已完成的对象放进HRWizard用户窗体里并使这些对象工作。...Dim m_oWizard As cStepManager Dim m_colSteps As Collection 虽然我们创建了9个分开的类模块来运行我们的应用程序,但是许多类都是通过在声明部分列出来内部使用...初始化用户窗体 在设置应用程序中的最后一步是初始化用户窗体自身。...给用户窗体添加导航 导航按钮要在向导应用程序中完成移动步骤的任务,但它们也需要具备放置每个界面中的数据到其在用户窗体的cPerson对象里的位置的能力。...我们可以直接从cmdSave_Click中调用而不需要再创建保存函数。

    1.7K20

    Excel实战技巧66:创建向导样式的数据输入窗体4

    学习Excel技术,关注微信公众号: excelperfect 在开始阅读本文前,请先学习下列内容: Excel实战技巧66:创建向导样式的数据输入窗体1 Excel实战技巧66:创建向导样式的数据输入窗体...2 Excel实战技巧66:创建向导样式的数据输入窗体3 继续介绍组成示例应用程序的类模块代码。...管理列表 在HRWizard用户窗体中输入的一些数据是通过组合框控件显示给用户的。...管理向导 创建两个类来帮助管理向导应用程序。第一个非常简单,包含每步的配置数据,接着创建一个类,包含这些“向导步骤”对象的集合,管理向导过程的操作。...通过使用New关键字,创建新的、单独的对象实例。

    1.3K10

    Excel实战技巧66:创建向导样式的数据输入窗体3

    学习Excel技术,关注微信公众号: excelperfect 在开始阅读本文前,请先学习下列内容: Excel实战技巧66:创建向导样式的数据输入窗体1 Excel实战技巧66:创建向导样式的数据输入窗体...2 上文中,我们完成了用户窗体界面的设计。...接下来,设置一些类来使用户窗体工作。在一开始,你可能会认为一个与数据记录相联系的类就满足要求了,但我们将在定义类时分解功能,设计一两个类帮助定义向导步骤。...最终,将实现一个灵活的向导应用程序,提供非常容易修改步骤的顺序的能力,甚至添加一个步骤也相当简单。...HRWizard中的类 由于正收集的某些员工信息将被传递给其它部门去处理,因此在自已的类中放置从每个屏幕中获得的数据。

    68220

    VBA实战技巧:根据工作表数据创建用户窗体中的控件

    在一些应用场景中,我们可能会需要根据工作表中的数据来创建用户窗体中的控件。例如下图1所示,在工作表第3行中有一行标题数据,想要根据标题数量在用户窗体中创建标签和相应的文本框。...图1 按Alt+F11组合键,打开VBE,单击菜单“插入——用户窗体”,在该用户窗体中放置一个框架控件,如下图2所示。...图2 在该用户窗体中单击右键,选择“查看代码”命令,输入下面的代码: Private Sub UserForm_Initialize() Dim rngData As Range Dim...fmScrollBarsVertical .ScrollHeight = .InsideHeight * i / 10 End With End If End Sub 运行窗体后...例如,用户在文本框中输入内容后,自动输入到工作表中;清空文本框中的内容;等等。

    2.4K30

    idea 创建的maven+spring+mybatis项目整合 报错无法创建bean

    最近在做一个由maven构建的spring+spring mvc+mybatis项目,刚开始的时候是用自己的电脑Win10环境下的eclipse写的,托管到了码svn上面,刚开始什么问题都没有 同学用的是...,各种看着一脸懵逼的报错信息(idea的tomcat运行日志文件很不好找,找了好久)辛辛苦苦弄了一周左右,期间经历了把项目删了又建,然后自己搭环境等各种坑爹的环节,一开始报错信息千奇百怪,在弄了这么久之后大概就稳定成了如下的样子...path resource [com/scpchome/dao/mapping/] cannot be resolved to URL because it does not exist   一直是不能创建...bean的样子,经过一行一行地阅读报错信息。。...最后发现mybatis的映射xml文件居然没有找到,然后又去翻classes目录,结果果然没有,知道具体的错误就好办了,随后百度了一发在pom文件中加入了如下代码,困扰了一周的问题成功解决 <!

    1.3K80

    idea 创建的maven+spring+mybatis项目整合 报错无法创建bean

    最近在做一个由maven构建的spring+spring mvc+mybatis项目,刚开始的时候是用自己的电脑Win10环境下的eclipse写的,托管到了码svn上面,刚开始什么问题都没有 同学用的是...,各种看着一脸懵逼的报错信息(idea的tomcat运行日志文件很不好找,找了好久)辛辛苦苦弄了一周左右,期间经历了把项目删了又建,然后自己搭环境等各种坑爹的环节,一开始报错信息千奇百怪,在弄了这么久之后大概就稳定成了如下的样子... resource [com/scpchome/dao/mapping/] cannot be resolved to URL because it does not exist   一直是不能创建...bean的样子,经过一行一行地阅读报错信息。。...最后发现mybatis的映射xml文件居然没有找到,然后又去翻classes目录,结果果然没有,知道具体的错误就好办了,随后百度了一发在pom文件中加入了如下代码,困扰了一周的问题成功解决 <!

    2K60

    idea 创建的maven+spring+mybatis项目整合 报错无法创建bean

    最近在做一个由maven构建的spring+spring mvc+mybatis项目,刚开始的时候是用自己的电脑Win10环境下的eclipse写的,托管到了码svn上面,刚开始什么问题都没有 同学用的是...,各种看着一脸懵逼的报错信息(idea的tomcat运行日志文件很不好找,找了好久)辛辛苦苦弄了一周左右,期间经历了把项目删了又建,然后自己搭环境等各种坑爹的环节,一开始报错信息千奇百怪,在弄了这么久之后大概就稳定成了如下的样子...path resource [com/scpchome/dao/mapping/] cannot be resolved to URL because it does not exist   一直是不能创建...bean的样子,经过一行一行地阅读报错信息。。...最后发现mybatis的映射xml文件居然没有找到,然后又去翻classes目录,结果果然没有,知道具体的错误就好办了,随后百度了一发在pom文件中加入了如下代码,困扰了一周的问题成功解决 <!

    94020

    Unity MVC丨(四)View:创建UI窗体的存放物体、UIRoot管理类

    小提示:选中左侧目录,可快速找到所需内容 本系列博客地址:传送门 一、本节概述 上节我们完成了View视图层基类 BaseWindow 的创建,那么视图层管理的UI生成在面板的哪个位置呢?...因此,就有了本节内容: 创建“UI窗体的存放物体”,这个物体名为UIRoot,用以存放我们生成的UI “窗体管理类UIRoot”,这个类,用以自动生成UIRoot、将我们的UI设置到UIRoot中对应的位置去...二、创建UI窗体的存放物体 1、创建如下预制体 创建预制体,并放在Resources/UI下。该UI意义如下: UIRoot:是一个Canvas。...recyclePool:存放已经关闭的窗体 workstation:存放正在显示的窗体 noticestation:存放打开的、提示类型的窗体 2、修改预制体锚点 将recyclePool、workstation...三、UIRoot管理类 Assets/MVCLibrary下,创建UIRoot脚本,该脚本完成了: 若不存在存放UI窗体的UIRoot物体,就自动从Resources创建它 拥有公开接口,用以设置UI窗体的父物体

    13910
    领券