趋势控件大小通过VB自动跟踪画面大小

做一个画面,画面里放置一个趋势控件,趋势控件的宽度和高度自动跟随画面的宽度和高度,画面最大时,趋势控件也最大,问一下VB程序怎么写?

最佳答案

Option Explicit
Private FormOldWidth As Long
''保存窗体的原始宽度
Private FormOldHeight As Long
''保存窗体的原始高度

Public Sub ResizeInit(FormName As Form)
    Dim Obj As Control
    FormOldWidth = FormName.ScaleWidth
    FormOldHeight = FormName.ScaleHeight
    On Error Resume Next
    For Each Obj In FormName
        Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
    Next Obj
    On Error GoTo 0
End Sub

Public Sub ResizeForm(FormName As Form)
    Dim Pos(4) As Double
    Dim i      As Long, TempPos As Long, StartPos As Long
    Dim Obj    As Control
    Dim ScaleX As Double, ScaleY As Double

    ScaleX = FormName.ScaleWidth / FormOldWidth
    ScaleY = FormName.ScaleHeight / FormOldHeight
    On Error Resume Next
    For Each Obj In FormName
        StartPos = 1
        For i = 0 To 4
            TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)
            If TempPos > 0 Then
                Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
                StartPos = TempPos + 1
            Else
                Pos(i) = 0
            End If

            Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
        Next i
    Next Obj
    On Error GoTo 0
End Sub
Private Sub Form_Resize()
    Call ResizeForm(Me) ''确保窗体改变时控件随之改变
End Sub
Private Sub Form_Load()
    Call ResizeInit(Me) ''在程序装入时加入
 ''以下四句是运行使窗体最大化
Me.Top = 0
    Me.Left = 0
    Me.Width = Screen.Width
    Me.Height = Screen.Height
End Sub

提问者对于答案的评价:
谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • wincc中连接的变量更新周期设置为多少最合适

    wincc画面中连接的变量更新周期据说太快会给系统造成压力,慢了又反应迟钝,想知道有没有最佳的更新周期 问题补充:我之前用的就是默认的2秒周期,这两天测试时发现反应太慢了,不知道改…

    SIMATIC WinCC 2019年6月11日
  • wincc画面打开

    Wincc V6.2中打开图形编辑器时出现“Fatal error! Failed to create APC&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WINCC C脚本 头文件AP_GLOB.H出错

    还没有写程序直接编译就已经出错. 错误提示如下: C:\Program Files\Siemens\WinCC\APLIB\AP_GLOB.H:lin…

    SIMATIC WinCC 2019年6月11日
  • 在WINCC里能否做按纽悬浮效果,具体的思路是怎样的?

    我想让鼠标移动到按纽时,按纽的颜色改变,产生悬浮效果,有没鼠标移动可产生的事件,有没可能做到? 问题补充:那怎么用WINCC导入控件呢 最佳答案 1、上网找带悬浮效果的按钮控件,在…

    SIMATIC WinCC 2019年6月11日
  • 如何保存图片,然后在运行界面查看

    我绘制了一个带即时参数的表格,然后保存它,就是打印成图片了。之后如何做,才能在运行界面中打开这些图片呢?主要是图片多,想在运行界面上能选择那些保存的图片。图片上有即时数据。 最佳答…

    SIMATIC WinCC 2019年6月11日
  • CS结构中,服务器与客户机是如何通信的?

    各位大侠,本人第一次使用WInCC,请问在CS结构中,服务器与客户机是如何通信的?谢谢 问题补充:客户机与服务器之间的通信可以使用工业以太网吗?一般都是用哪几种通信方式? 最佳答案…

    SIMATIC WinCC 2019年6月11日
  • 请问这个电脑能装sever2016 STANDARD系统吗?

    WINCC系统是C/S架构的,目前是8台客户机和1台服务器,这9台都是ThinkCentre商务台式机。目前,客户机老是访问不了服务器数据,咨询了西门子工程师,服务器需要安装服务器…

    2021年7月5日
  • WINCC怎么连接第三方数据库,读取其数据

    公司有很多项目都通过通讯卡(手机卡)用无线的方式将数据发送到第三方服务器(比如阿里云),服务器数据也已经 解码  已经将数据存放在MYSQL中,现在&…

    SIMATIC WinCC 2017年7月30日
  • WinCC 按钮 变量类型

    WinCC的按钮关联变量有哪几种类型? 钻石用户推荐最佳答案 按钮一般通过时间处理,用作连变量的话,各种类型的变量都可以使用1、布尔变量,一般用于设备的启停状态选择等,比如按下启动…

    SIMATIC WinCC 2021年7月5日
  • WINCC报警画面问题

    报警窗口正常是在某个变量置1时,触发报警,复位为0时,取消报警!!!可不可以改成相反情况,即当变量为1时,报警消失,报警为0时触发变量报警? 最佳答案 设置成低电平处罚报警,或梯形…

    SIMATIC WinCC 2018年12月9日

发表回复

登录后才能评论