精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

窗体小工具

窗体小工具

  


                  Private Declare Function MoveWindow Lib "user32"<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p>


(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<o:p></o:p>


Private Declare Function GetWindowRect Lib<o:p></o:p>


"user32" (ByVal hwnd As Long, lpRect As<o:p></o:p>


RECT) As Long<o:p></o:p>


'获取窗口的位置参数 Private Type RECT<o:p></o:p>


Left As Long<o:p></o:p>


Top As Long<o:p></o:p>


Right As Long<o:p></o:p>


Bottom As Long<o:p></o:p>


End Type<o:p></o:p>


Dim TWin As Long, TWin1 As Long, T0 As Integer, T1 As Integer, flag As Boolean, R0 As RECT, R1 As RECT<o:p></o:p>


'TWin 表示被选择窗口的句柄,Twin1 表示当 前工作窗口的句柄<o:p></o:p>


'R1表示当被选窗口再次被选中时的位置参数, R0表示初始时被选窗口的位置参数<o:p></o:p>


'T0,T1,flag 用来标志触发时间及标志<o:p></o:p>


<o:p></o:p>


Private Sub Command1_Click()<o:p></o:p>


Command1.Enabled = False<o:p></o:p>


Command4.Enabled = False<o:p></o:p>


Text1.Enabled = False<o:p></o:p>


Timer1.Enabled = True<o:p></o:p>


flag = True<o:p></o:p>


End Sub<o:p></o:p>


<o:p></o:p>


Private Sub Command2_Click()<o:p></o:p>


Command1.Enabled = True<o:p></o:p>


Command4.Enabled = True<o:p></o:p>


Timer1.Enabled = False<o:p></o:p>


Text1.Text = T1<o:p></o:p>


Text1.Enabled = True<o:p></o:p>


Text1.BackColor = vbWhite<o:p></o:p>


T0 = 0<o:p></o:p>


If TWin Then '撤消窗体在最前面<o:p></o:p>


SetWindowPos TWin, -2, 0, 0, 0,<o:p></o:p>


0, 3<o:p></o:p>


MsgBox "您选择的窗体已经撤消了<o:p></o:p>


"<o:p></o:p>


End If<o:p></o:p>


End Sub<o:p></o:p>


<o:p></o:p>


Private Sub Command3_Click()<o:p></o:p>


End<o:p></o:p>


End Sub


Private Sub Command4_Click()<o:p></o:p>


T1 = Val(Text1.Text) End Sub<o:p></o:p>


<o:p></o:p>


Private Sub Form_Load()<o:p></o:p>


T0 = 0<o:p></o:p>


T1 = Val(Text1.Text) End Sub<o:p></o:p>


<o:p></o:p>


Private Sub Timer1_Timer()<o:p></o:p>


If T0 &lt; T1 Then<o:p></o:p>


Text1.BackColor = vbRed<o:p></o:p>


T0 = T0   1<o:p></o:p>


Text1.Text = T1 - T0 '到计时<o:p></o:p>


Else<o:p></o:p>


If flag Then '如果窗体不在最前面 则设它在最前<o:p></o:p>


TWin = GetForegroundWindow<o:p></o:p>


()<o:p></o:p>


flag = False<o:p></o:p>


SetWindowPos TWin, -1, 0,<o:p></o:p>


0, 0, 0, 3<o:p></o:p>


GetWindowRect TWin, R0<o:p></o:p>


MsgBox "您选择的窗体已经放 在最前面了"<o:p></o:p>


Else<o:p></o:p>


If Check1.Value Then '如果选 择了卷帘功能<o:p></o:p>


TWin1 = GetForegroundWindow() '获取当前窗口<o:p></o:p>


If TWin1 &lt;&gt; TWin Then<o:p></o:p>


'如果当前窗口不是 被选窗口则将被选窗口卷起<o:p></o:p>


MoveWindow TWin, R0.Left, R0.Top, 0, 0, 1<o:p></o:p>


Else<o:p></o:p>


'如果当前窗口是被 选窗口则将被选窗口卷开<o:p></o:p>


GetWindowRect<o:p></o:p>


TWin, R1<o:p></o:p>


MoveWindow TWin, R1.Left, R1.Top, R0.Right - R0.Left, R0.Bottom<o:p></o:p>


- R0.Top, 1<o:p></o:p>


GetWindowRect<o:p></o:p>


TWin, R0<o:p></o:p>


End If<o:p></o:p>


End If<o:p></o:p>


End If<o:p></o:p>


Text1.Text = T1 '表示窗体操作完 毕<o:p></o:p>


Text1.BackColor = vbWhite<o:p></o:p>


End If<o:p></o:p>


End Sub<o:p></o:p>


好了,运行一下程序,这个窗体小 工具是不是非常有用呢?<o:p></o:p>


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><v:rect id=_x0000_s1026 style="MARGIN-TOP: 49.5pt; Z-INDEX: -1; LEFT: 0px; MARGIN-LEFT: 477.8pt; WIDTH: 14.65pt; POSITION: absolute; HEIGHT: 7.9pt; TEXT-ALIGN: left; mso-position-horizontal-relative: page" stroked="f"><v:fill type="frame" o:title="" src="file:///C:\DOCUME~1\OWNER\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:fill><v:path arrowok="t"></v:path><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" /><w:wrap anchorx="page"></w:wrap></v:rect>程序在 Windows XP、VB6 下调试 通过。源程序以及可执行程序下载地址:http://www.cfan.net.cn/qikan/ cfan/source/0304ctx.zip。<o:p></o:p>

TOP

发新话题