大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Declare Function OpenIcon Lib "user32" Alias
创新互联公司拥有10年成都网站建设工作经验,为各大企业提供成都做网站、网站制作、成都外贸网站建设服务,对于网页设计、PC网站建设(电脑版网站建设)、成都App制作、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、空间域名等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。
"OpenIcon" (ByVal hwnd As Long) As Long
说明
恢复一个最小化的程序,并将其激活
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数
类型及说明
hwnd
Long,欲恢复的窗口
注解
针对vb窗体,应使用vb的WindowState属性
所谓的“上位机传数据”,是指系统收到端口信息后,触发你代码中相应对象的事件,然后在事件处理代码中把数据写到窗体上的。不管你内容多少,还原和最小化的运行速度都和上位机本身没有关系,你看很多程序在最小化还原后很卡,要么是程序写了很多还原时触发的代码,要么是系统内存不够,把窗体移到虚拟内存(硬盘)里了。你可以用代码在窗体失去焦点激活的时候(Deactived事件)停止接收数据,还原时(Actived事件)再恢复
用鼠标移动到右上方的 “解决方案资源管理器”的“视图设计器”图标(见下图),可以看到系统会显示“视图设计器”文字,单击就可能出现窗体:
如果用鼠标单击该图标左边的“查看代码”按钮,就进入代码窗口;
Dim F1 As New Datasystem.Form2 '实例化窗体
For Each na As Form In Application.OpenForms '打开窗体的集合
If na.ProductName = F1.ProductName AndAlso na.Name = F1.Name 0 Then '判断程序集的产品名称和窗体名称是否已存在打开的窗体中
If na.WindowState = FormWindowState.Minimized Then '判断窗体是否最小化
na.WindowState = FormWindowState.Normal '还原窗体
End If
na.Activate() '激活窗体
Return '返回
End If
Next
F1.Show() '如果没有打开的窗体中未找到,重新打开窗体
VB程序运行时,把窗口最大化后,窗口是不能被调整大小的(最小化除外),在程序中也不行。
设计时,可以正常窗口呈现,并屏蔽窗体的最大化按钮,自己做个替代的“最大化”按钮,实现窗体放大。当点击“最大化”时,触发Form的ReSize事件,在Form的ReSize事件中,写入:
Private Sub Form_Resize()
Form1.Left = 0
Form1.Top = 0
Form1.Width = Screen.Width
Form1.Height = Screen.Height - GetTaskbarHeight
End Sub
(当程序启动时,也会同时触发Form_ReSize的)
其中,GetTaskbarHeight的获取要写进模块文件中:
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Public Const SPI_GETWORKAREA = 48
Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Function GetTaskbarHeight() As Integer
Dim lRes As Long
Dim rectVal As RECT
lRes = SystemParametersInfo(SPI_GETWORKAREA, 0, rectVal, 0)
GetTaskbarHeight = ((Screen.Height / Screen.TwipsPerPixelX) -rectVal.Bottom) * Screen.TwipsPerPixelX
End Function
但是,这样做还要考虑到有些人把任务栏移到其他地方的,比如左侧,右侧,甚至隐藏,所以,也是很麻烦的哦