Access交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 产品
  • 活动
  • 培训
  • 招聘
  • 论坛
  • 商城
  • 关于

培训

Access企业培训(现场)
Access在线培训

Access中级培训

Access高级培训

Access定制培训

Access树控件与BOM高级技巧

Access公开课
Access免费公开课视频
Access培训(VIP)
Access培训优惠信息

热门文章

  • VBA开发神器发布及培训-..
  • Access列表框的高级应..
  • Access智能搜索组合框..
  • Access专业工资条打印..
  • Access动画式关闭窗体..
  • ERP之BOM树源码-Ac..

最新文章

  • Access自动播音员-A..
  • Access智能搜索组合框..
  • Access自动执行宏的妙..
  • access图片分页展示及..
  • 通用读取文本文件模块-Ac..
  • Access通用TAB键和..

联系方式

Access交流网

电  话:0760-88315075
热  线:0760-88315075

邮  编:528463
咨询QQ:1918333016
营销QQ:4008553990

Email:1918333016@qq.com

网  址:www.access-cn.com

当前位置:首页 > 培训 > Access培训(VIP)
Access培训(VIP)

Access动画式关闭窗体-Access经典源码剖析

 
Access主题 主题:Access动画式关闭窗体-高手之路                  听课人数:160人      
Access主讲

 主讲:王宇虹             演讲时间:2015-07-29 15:30 至 2015-07-29 16:30      

Access培训内容 讲课内容简介:         Access培训报名:http://www.office-cn.net/thread-118946-1-1.html
 

Access动画式关闭窗体,窗体可以从各个方向逐步消失,形成动画效果,是窗体更炫 更酷 更专业。从上,从下,从左,从右关闭窗体,也能以移动的方式关闭窗体。从中我们可以学习到VBA代码的应用的精妙之处

 培训优势:使用新版Access2013+思维导图模式+Access源码剖析+在线课堂+PPT课件培训
 培训目标:让你 听得懂 学得会 记得住 用得上             要求:有一定的Access 或 VBA的基础 
 

 

clip0058

Access动画式关闭窗体


 

 

application_key 功能描述:

  • 打开窗体

  • 关闭窗体

  • 移动窗体

  • 实现随机取数

  • 美化窗体

 

 

 

application_key  行业应用场景:

 
  •   可以让界面更炫 更酷 更专业

  •   随机数

  •   抽奖

  •   随机取数

  •   API

  •   去实现一些高难度的系统相关的功能

  

 

 

application_key  界面预览:

     access数据库

     

      

 

application_key  源码思维导图(脑图):

 

     access数据库

 

 

     

 

Access教程视频Access动画式关闭窗体 -- Access经典源码剖析思维导图在线播放

可直接展开和收缩思维导图中的每个节点来浏览,也可使用下面的放大 缩小 折叠 定位焦点 全页显示 查找关键字等功能
 

 

 

application_key  Access培训笔记:

 

  动画式关闭窗体 Office中国-王宇虹 连续10年微软最有价值专家

1 应用场景

1.1 可以让界面更炫 更酷 更专业

1.2 随机数

1.2.1 抽奖

1.2.2 随机取数

1.3 API

1.3.1 去实现一些高难度的系统相关的功能

2 相关知识点

2.1 随机数

2.1.1 Randomize

 

Randomize 语句初始化随机数生成器。 

 

语法 

 

Randomize [number]

 

可选的 number 参数是 Variant 或任何有效的数值表达式。 

 

说明 

 

Randomize 用 number 将 Rnd 函数的随机数生成器初始化,该随机数生成器给 number 一个新的种子值。如果省略 number,则用系统计时器返回的值作为新的种子值。 

 

如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用 Rnd 函数的种子值。 

 

注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的

2.1.2 RND函数

RND函数的用法如下。

格式:Rnd(<数值表达式)

  功能:求(0,1)之间的一个随机数  语法:  Rnd[(number)]

  如果 number 的值是 Randomize 生成

  小于 0 ,每次都使用 number 作为随机数种子得到的相同结果。

  大于 0 ,以上一个随机数为种子产生下一个随机数。

  等于 0 ,产生与最近生成的随机数相同的随机数。

  省略, 以上一个随机数为种子产生下一个随机数。

  说明  Rnd 函数返回小于 1 但大于或等于 0 的值。

  number 的值决定了 Rnd 生成随机数的方式。

  对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。

  在调用 Rnd 之前,先使用无参数的Randomize

语句初始化随机数生成器(若带参数,则产生由参数对应的一个特定序列的随机数),该生成器具有根据系统计时器得到的种子。

  为了生成某个范围内的随机整数,可使用以下公式:

  Int(最大值 -最小值+ 1) * Rnd + 最小值)

  这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。

  注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。

  2、Int((upperbound - lowerbound + 1) * Rnd + lowerbound)编辑本段Rnd 函数示例

  本示例使用 Rnd 函数随机生成一个 1 到 6 的随机整数。

  DimMyValue  MyValue = Int((6 * Rnd) + 1) ' 生成 1 到 6 之间的随机数值 ,这里的int 是把后面产生的小数转换成整数

2.1.2.1 Int((100 - 1 + 1) * Rnd +1)

2.2 API

2.2.1 MoveWindow

2.2.1.1 docmd.MoveSize

2.2.1.2 所需参数

2.2.1.2.1 'hWnd是窗口的句柄? 'X是窗口在X轴的位置? 'Y是窗口在Y辆的位置? 'nWidth是窗口的宽度? 'nHeight是窗口的高度? 'bRepaint是设置是否重画窗口和父窗口

2.2.2 GetWindowRect

2.2.2.1 该函数返回指定窗口的边框矩形的尺寸

2.2.2.2 所需参数

2.2.2.2.1 'hWnd:窗口句柄。 'lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。

2.2.2.3 返回值

2.2.2.3.1 返回值为非零:如果函数失败,返回值为零

3 代码剖析

3.1 窗体打开事件

3.1.1 Randomize Timer()

3.1.1.1 初始化随机数生成器

3.1.2 从5种样式中选择一种样式

3.1.2.1 从1-5选择

3.1.2.1.1 Int((5 - 1 + 1) * Rnd +1)

3.2 窗体关闭事件

3.2.1 Form_Close

3.2.1.1 判断用户选择哪种风格

3.2.1.1.1 lngOpt = Me.optWipeType.Value

3.2.1.2 调用动画关闭窗体的通用函数

3.2.1.2.1 WipeEffect

3.2.1.2.1.1 通过API函数GetWindowRect获取当前窗体的尺寸    lngRet = GetWindowRect(frm.hwnd, r)    lngFormWidth = r.right - r.left    lngFormHeight = r.bottom - r.top

3.2.1.2.1.2 计算出每次宽度或高度变化大小

'步长 50步    lngIncrementW = lngFormWidth \ lngIncrement  '1000/50    lngIncrementH = lngFormHeight \ lngIncrement

3.2.1.2.1.3 向上擦除效果

    For lngX = 1 To lngIncrement            lngRet = MoveWindow(frm.hwnd, r.left, r.top, _                    lngFormWidth, lngFormHeight - lngX * lngIncrementH, 1)        Next lngX

3.2.1.2.2 WipeEffect(Me, lngOpt, lngIncrement)

 

 

application_key  相关链接:

 

1. 直接超值购买:

       点击购买:  Button 

       包含:Access示例完整源码+实现思路与代码讲解高清视频+Access培训课件    绝对低价超值

 

2. 购买前咨询:

    

    在线咨询QQ:1918333016

    企业热线QQ:4008553990 (使用QQ搜索: 搜索服务)

    更多联系方式:http://www.office-cn.net/t/training/officecontact.htm

 

application_key  部分源码预览:

 

    access数据库

    access数据库

   

    
''=============================================================================================
 
 
Option Compare Database
Option Explicit
Dim mblnChange As Boolean    '窗体内变量,标志符
 
Private Sub Form_Open(Cancel As Integer)
    On Error Resume Next
    Me.ShortcutMenu = False    '禁止右击时弹出菜单,避免进入设计视图
    '一旦你单击到链接时,ACCESS会自动弹出WEB工具条,这里暂时禁止它
    DoCmd.ShowToolbar "web", acToolbarNo
    gt_FormInit Me
    ... ...
End Sub
 
Private Sub Form_Resize()
Image2.Width = Me.InsideWidth
End Sub
 
 
Private Sub Form_Close()
    Dim lngIncrement As Long
    Dim lngOpt As Long
    
    lngOpt = Me.optWipeType.Value
    If lngOpt >= 0 Then
        lngIncrement = 50
        ......
    End If
End Sub
 
Private Sub lblAbout_Click()
    DoCmd.OpenForm "frmAbout"
End Sub
 
Private Sub lblClose_Click()
    DoCmd.Close acForm, Me.Name
End Sub
 
 
Global bOpened As Boolean
 
Type RECT
    left As Long
    top As Long
    right As Long
    bottom As Long
End Type
 
' x, y, nWidth, nHeight in pixels
'hWnd是窗口的句柄?
'X是窗口在X轴的位置?
'Y是窗口在Y辆的位置?
'nWidth是窗口的宽度?
'nHeight是窗口的高度?
'bRepaint是设置是否重画窗口和父窗口。当设置为TRUE时,就进行重画。当设置为FALSE时,就不进行重画,需要手功进行更新指定的区域。
Declare Function MoveWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal x As Long, _
        ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, _
        ByVal bRepaint As Long) As Long
 
'Windows API函数。该函数返回指定窗口的边框矩形的尺寸
'该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
'hWnd:窗口句柄。
'lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。
'left ;top; right;bottom;
'分别表示该窗口的/左侧/顶部/右侧/底部坐标
'如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数
Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, lpRect As RECT) As Long
 
Public Sub WipeEffect(frm As Form, lngOpt As Long, lngIncrement As Long)
 
    Dim r As RECT
    Dim lngRet As Long
    Dim lngX As Long
 
    Dim lngFormHeight As Long
    Dim lngFormWidth As Long
    
    Dim lngIncrementW As Long
    Dim lngIncrementH As Long
    
    '通过API函数GetWindowRect获取当前窗体的尺寸
    lngRet = GetWindowRect(frm.hwnd, r)
    lngFormWidth = r.right - r.left
    lngFormHeight = r.bottom - r.top
        
    '步长 50步
    lngIncrementW = lngFormWidth \ lngIncrement  '1000/50
    lngIncrementH = lngFormHeight \ lngIncrement
    
    ......
        Next lngX
        MsgBox "Brrrrrrrr!!  I think I hab a code.", vbCritical, "Code"
    End Select
    
End Sub
 

标签:  access,access动画,access关闭窗体,access退出,access动态关闭
发布人:zstmtony  
分享到:
点击次数:  更新时间:2018-02-28 10:52:40  【打印此页】  【关闭】
上一条:Access系统设置及系统函数的应用-Access经典源码剖析  下一条:ERP之BOM树源码-Access经典源码剖析



相关文章

  • • Access自动播音员-Access经典源码剖析
  • • Access智能搜索组合框-Access经典源码剖析
  • • Access自动执行宏的妙用-Access经典源码剖析
  • • access图片分页展示及选择功能-Access经典源码剖析
  • • 通用读取文本文件模块-Access经典源码剖析
  • • Access通用TAB键和默认值设置-Access经典源码剖析
  • • access图片文件保存到数据库的通用技巧-Access经典源码剖析
  • • 数据自动导出多个Excel或者多个工作表-Access经典源码剖析

热门文章

  • [2019-04-19] Access自动播音员-Access经典源码剖析access数据库
  • [2018-02-28] Access通用TAB键和默认值设置-Access经典源码剖析access数据库
  • [2018-02-28] Access列表框的高级应用-Access经典源码剖析access数据库
  • [2018-02-28] Access控制outlook自动处理邮件-Access经典源码剖析access数据库
  • [2018-02-28] VBA开发神器发布及培训--完全颠覆Access VBA的开发方式--平台插件VBA伴侣-Access经典源码剖析access数据库
  • [2018-02-28] Access智能搜索组合框-Access经典源码剖析access数据库

热门产品

  1. 短信专家接口(可用于企业及个人多种短信用途)

    短信专家接口(可用于企业及个人多种短信用途)

  2. Access通用开发平台

    Access通用开发平台

  3. 较强的日程管理功能源码(新版)

    较强的日程管理功能源码(新版)

公司动态|在线留言|在线反馈|联系我们|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2018 粤ICP备10043721号

广东省中山市西苑广场富贵阁20楼A座

电话:0760-88315075 手机:13928102596 QQ:1918333016

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2021  www.metinfo.cn