vb 中控件随窗体的改变成比例改变大小
这几天在设计阅读其中用到了很多好的技术,,让我们在设计软件的时候方便,,快捷,,美观.也是我们经常用到的一些控件.
所以在这里我会陆续把他分享出来.
这里是在窗体中改变窗体的大小.窗体内部所以控件的大小同比例的改变的一个程序
这些是在标准模块中
'定义 FormOldWidth, FormOldHeight 为全局变量,这样其他模块才能调用它
Global FormOldWidth, FormOldHeight
'在调用ResizeForm前先调用本函数
Public Sub ResizeInit(FormName As Form)
'Control是一个对象,表示所有 Visual Basic 内部控件的类名。
'可以将一个变量标为 Control 对象,象引把控件放到窗体上的一样来引用它。例如:
'Dim C As Control
'Set C = Command1
Dim Obj As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
'Each是一个关键字,作用是针对一个数组或集合中的每个元素,重复执行一组语句。
'语法
'For Each element In Group
For Each Obj In FormName
'Tag返回或设置一个表达式用来存储程序中需要的额外数据。
Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
Next Obj
On Error GoTo 0
End Sub
'按比例改变表单内各元件的大小,
'在调用ReSizeForm前先调用ReSizeInit函数
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
'InStr函数,返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。语法:InStr([start, ]string1, string2[, compare])
TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)
If TempPos > 0 Then
'Mid函数,返回Variant (String),其中包含字符串中指定数量的字符。语法:Mid(string, start[, length])
Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Else
Pos(i) = 0
End If
'根据控件的原始位置及窗体改变大小的比例对控件重新定位与
相关文档:
Public Class Form1
Dim x As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
x = 1
Timer1.Interval = 1000
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e ......
Asp.net连接SQL Server2000数据库例程详解:
<%@ Import Namespace="System.Data" %>
<%@ Import NameSpace="System.Data.SqlClient" %>
<script laguage="VB" runat="server">
sub page_load(sender as Object ......
接着外挂教程 VB 从零开始编外挂
需要VBAPI函数:
FindWindow←寻找窗口列表中第一个符合指定条件的顶级窗口
GetWindowThreadProcessId←获取与指定窗口关联在一起的一个进程和线程标识符
--------------------------------------------------------------------------------------------------------------- ......
自己整了4个目标用于扫描。以后可能可以自己添加删除(写到这儿忽然觉得C++的vector不能删除元素(反正C++ Primer里目前没找到)让人很郁闷)
Form1,须加一个Timer1
Dim CAngle As Integer 'Current Angle (Not Class Angle)
Private Sub Form_Load() '初始化
CAngle = 0
Me.BackColor = vbBlack
......