亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        VB可視化窗體的趣味(讓屏幕都動(dòng)起來)

        2015-06-25 21:30:32宋舶平
        人間 2015年8期
        關(guān)鍵詞:窗體最大化控件

        摘要:眾所周知,VB是一種可視化的編程工具,可視化的編程工具總會(huì)讓學(xué)習(xí)者更容易理解編程中的一些更為負(fù)責(zé)的東西。而編程又被一般人群望而卻步,其實(shí)編程是一件非常有意思的事情。結(jié)合學(xué)生們的一些想法,想到了很久以前的一些惡作劇,廢了一些力氣寫了下面的代碼以提高編程初學(xué)者對(duì)編程的興趣

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1671-864X(2015)03-0199-02

        一、總體構(gòu)想

        將整個(gè)屏幕的圖像復(fù)制到本程序的Form1窗口內(nèi),制造一個(gè)虛假的屏幕圖像。

        Form1 窗口會(huì)最大化并不斷抖動(dòng),遮住其他任何程序窗口。由于本程序窗口最大化,四周的邊界空白區(qū)為黑色,足以以假亂真,讓用戶相信這就是屏幕圖像。然后告訴用戶一個(gè)假消息:Windows 檢測(cè)到你的顯示器未放平,這種狀態(tài)的時(shí)間已很長了,已導(dǎo)致顯示器屏幕抖動(dòng),情況嚴(yán)重時(shí)會(huì)爆炸。

        時(shí)間(默認(rèn)30秒)未到前,用戶無法使用開始菜單和任務(wù)管理器。時(shí)間到后,F(xiàn)orm1 窗口縮小,允許用戶結(jié)束本程序。

        程序有2個(gè)窗體:Form1 和 Form2,F(xiàn)orm1是啟動(dòng)窗體:

        二、form1窗體

        ' ' Form1 窗體:

        ----------------------------------------------------------------

        ' 在 Form1 上放置控件:Timer1、Picture1

        ' 在屬性窗口將 Form1 的 BorderStyle 屬性設(shè)置為 0,其他控件及屬性無需進(jìn)行任何設(shè)置

        ' 以下是 Form1 代碼

        Dim ctT1 As Single

        Public ctCi As Long, ctT As Single '

        Private Declare Function GetWindowDC Lib "user32" (ByVal hWnd As Long) As Long

        Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As RasterOpConstants) As Long

        Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hdc As Long) As Long

        Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

        Private Sub Form_Load()

        ctT = 30 '指定時(shí)間(秒),時(shí)間到了后才允許退出程序。可根據(jù)自己喜好修改為更長的時(shí)間

        Timer1.Enabled = True: Timer1.Interval = 100

        Me.WindowState = 2 '最大化窗口

        'Me.WindowState = 0 ''****調(diào)試代碼,F(xiàn)orm1 窗口最大化會(huì)導(dǎo)致調(diào)試?yán)щy,調(diào)試完畢應(yīng)刪除此語句

        Me.BackColor = 0

        Call CopyScreen

        ctT1 = Timer

        End Sub

        Private Sub Form_Activate()

        Static Ci As Long

        If Ci = 0 Then Form2.Show 1

        Ci = 1

        End Sub

        Private Sub Timer1_Timer()

        Dim X As Single, Y As Single, S As Single

        S = Timer - ctT1

        Form2.Label2.Caption = "時(shí)間:" & Format(S, "0.0") & " 秒"

        If S < ctT Then '----將窗口設(shè)置為最前面,阻止用戶使用任務(wù)管理器等其他程序

        Call WinInTop(Me.hWnd, True)

        Else '------------到了指定時(shí)間(秒)后,允許退出程序

        If Me.WindowState <> 0 Then

        Me.WindowState = 0

        Me.Move Screen.Width * 0.1, Screen.Height * 0.1, Screen.Width * 0.8, Screen.Height * 0.8

        End If

        Form2.Label1.ForeColor = 0

        Form2.Label1.Caption = vbCrLf & vbCrLf & " 這是一個(gè)玩笑,你的顯示器不會(huì)發(fā)生任何問題。" & vbCrLf & vbCrLf & vbCrLf & vbCrLf & " 單擊“退出”結(jié)束本程序。"

        Form2.Label2.Caption = "哈哈,一個(gè)玩笑"

        Form2.Command1.Visible = False: Form2.Command2. Visible = True

        End If

        S = Screen.TwipsPerPixelX * 10 '抖動(dòng)最大幅度:10 個(gè)像素

        Randomize

        X = (0.5 - Rnd) * S: Y = (0.5 - Rnd) * S

        Picture1.Move X, Y

        If Me.WindowState <> 2 Then Exit Sub '當(dāng) Form1 最大化時(shí)才讓 Form2 也一起抖動(dòng)

        Form2.Move (Screen.Width - Form2.Width) * 0.5 + X, (Screen.Height - Form2.Height) * 0.5 + Y

        End Sub

        Private Sub CopyScreen()

        '------復(fù)制整個(gè)屏幕到 Picture1

        Dim dl As Long, nHwnd As Long, nWinDC As Long, nW As Long, nH As Long

        nHwnd = 0

        nWinDC = GetWindowDC(nHwnd) '屏幕設(shè)備場(chǎng)景句柄

        nW = Screen.Width: nH = Screen.Height

        Picture1.Move 0, 0, nW, nH

        Picture1.AutoRedraw = True: Picture1.BorderStyle = 0

        nW = nW /Screen.TwipsPerPixelX: nH = nH /Screen. TwipsPerPixelY

        dl = BitBlt(Picture1.hdc, 0, 0, nW, nH, nWinDC, 0, 0, vbSrcCopy)

        dl = ReleaseDC(nHwnd, nWinDC) '釋放設(shè)備場(chǎng)景:成功返回為1,否則為0

        End Sub

        Private Sub WinInTop(nWnd As Long, Optional InTop As Boolean)

        Const HWND_NoTopMost = -2 '取消在最前

        Const HWND_TopMost = -1 '最上

        Const SWP_NoSize = &H1 'wFlags 參數(shù)

        Const SWP_NoMove = &H2

        Const SWP_NoZorder = &H4

        Const SWP_ShowWindow = &H40

        Const SWP_HideWindow = &H80

        Dim nIn As Long

        If InTop Then nIn = HWND_TopMost Else nIn = HWND_ NoTopMost

        SetWindowPos nWnd, nIn, 0, 0, 0, 0, SWP_NoSize + SWP_ NoMove

        End Sub

        三、 Form2 窗體

        ' 在 Form2 上放置控件:Command1、Command2、Label1、Label2

        ' 以下是 Form2 代碼

        Dim ctExit As Boolean

        Private Sub Form_Load()

        Dim S As Single

        Me.Icon = LoadPicture(): Me.Caption = "Windows 警告"

        Me.Move Screen.Width * 0.2, Screen.Height * 0.3, Screen.Width * 0.6, Screen.Height * 0.4

        S = Me.TextHeight("A")

        Command1.Caption = "確定(&Y)": Command2.Caption = "退出(&E)"

        Command1.Move Me.ScaleWidth - S * 7, Me.ScaleHeight -S * 3, S * 6, S * 2

        Command2.Move Command1.Left, Command1.Top, S * 6, S * 2

        Label1.BackStyle = 0: Command2.Visible = False

        Label1.Font.Size = 12: Label2.Font.Size = 12

        Label1.Move S, S, Me.ScaleWidth - S * 2, Me.ScaleHeight

        Label2.Move S, Command1.Top + Command1.Height * 0.2

        Label2.AutoSize = True

        Call Info End Sub

        Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

        '不要用 Click 事件

        Form1.ctCi = Form1.ctCi + 1

        Call Info

        End Sub

        Private Sub Info()

        Dim Str1 As String, nStr As String

        Select Case Form1.ctCi

        Case 0

        Str1 = "警告!" & vbCrLf & vbCrLf

        nStr = " Windows 檢測(cè)到你的顯示器未放平,這種

        狀態(tài)的時(shí)間已很長了,已導(dǎo)致顯示器屏幕抖動(dòng),情況嚴(yán)重時(shí)會(huì)爆炸。"

        Case 1

        Label1.ForeColor = RGB(0, 0, 255)

        Str1 = "再次警告!" & vbCrLf & vbCrLf

        nStr = " 你的顯示器仍然未放平,仍有爆炸的危險(xiǎn)。"

        Case 2

        Label1.ForeColor = RGB(255, 0, 255)

        Str1 = "再次再次警告??!" & vbCrLf & vbCrLf

        nStr = " 請(qǐng)?jiān)陲@示器底座的右下面墊一張厚度為 2毫米的紙,不然有爆炸的危險(xiǎn)。"

        Case 3

        Label1.ForeColor = RGB(255, 0, 0)

        Str1 = "再次警告?。?!" & vbCrLf & vbCrLf

        nStr = " 右方太高!" & vbCrLf & vbCrLf & " 請(qǐng)?jiān)陲@示器底座的左下面墊一張厚度為 1 毫米的紙,不然有爆炸的危險(xiǎn)。"

        Case Else

        Label1.ForeColor = RGB(255, 0, 0)

        Str1 = "嚴(yán)重警告?。。?!" & vbCrLf & vbCrLf nStr = " 顯示器仍然未調(diào)整好。"

        End Select

        Label1.Caption = Str1 & nStr & vbCrLf & vbCrLf & "請(qǐng)?jiān)?" & Form1.ctT & " 秒鐘內(nèi)調(diào)整好顯示器!顯示器調(diào)整好后,請(qǐng)單擊“確定”。"

        End Sub

        Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)'

        結(jié)束程序:不要用 Click 事件

        ctExit = True

        Unload Me: Unload Form1

        End Sub

        Private Sub Form_Unload(Cancel As Integer)

        If Not ctExit Then Cancel=1

        End Sub

        猜你喜歡
        窗體最大化控件
        勉縣:力求黨建“引領(lǐng)力”的最大化
        Advantages and Disadvantages of Studying Abroad
        劉佳炎:回國創(chuàng)業(yè)讓人生價(jià)值最大化
        試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
        檔案天地(2019年5期)2019-06-12 05:12:02
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        戴夫:我更愿意把公益性做到最大化
        基于LayeredWindow的異形窗體局部刷新
        中文信息(2014年2期)2014-03-06 23:49:14
        巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        WinCE.net下圖形用戶界面的開發(fā)
        亚洲高清在线天堂精品| 亚洲国产香蕉视频欧美| 亚洲国产综合专区在线电影| 亚洲国产成人av第一二三区 | 亚洲国产精品亚洲一区二区三区 | 国产亚洲精品aaaa片app| 亚洲av中文无码乱人伦在线咪咕| 淫秽在线中国国产视频| 亚洲中文av中文字幕艳妇| 亚洲乳大丰满中文字幕| 精品人妻人人做人人爽夜夜爽| 亚洲精品亚洲人成在线下载 | 亚洲欧美日韩在线一区| 久久99亚洲综合精品首页| 精品国模人妻视频网站| 亚洲成人中文字幕在线视频| 久久久av波多野一区二区| 久久棈精品久久久久久噜噜| 亚洲人成网站18男男| 偷拍一区二区三区黄片| 精品一二三四区中文字幕| 99久久久国产精品免费蜜臀| 国产精品露脸视频观看| 永久免费在线观看蜜桃视频| 黑人玩弄极品人妻系列视频| 精品乱人伦一区二区三区| 日产国产精品亚洲系列| 成人永久福利在线观看不卡 | 亚洲精品乱码久久久久蜜桃| a级毛片高清免费视频就| 国产a级精精彩大片免费看| 亚洲精品女同在线观看| 国产一区二区视频免费在线观看| 99国产精品久久久蜜芽| 少妇高潮喷水正在播放| 日本女优中文字幕在线观看| 天堂蜜桃视频在线观看| 麻豆婷婷狠狠色18禁久久| 亚洲精品无码国模| 亚洲视频在线播放免费视频| 日本亚洲中文字幕一区|