• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        VB開發應用程序答疑

        VB開發應用程序答疑

        更新時間:2019-06-30 文章作者:未知 信息來源:網絡 閱讀次數:

        VB以其易于學習、易于開發而深受廣大開發人員的喜愛,但是在實際開發時,我們也會遇到很多問題,筆者總結了一些開發中常見的問題,給出了通用的解決方法,希望對VB開發人員有所幫助。


        問:在VB應用程序中,如何實現窗體的簡易移動?
        答:如果你的窗體不需要標題欄,又希望能移動該窗體,像WinAmp一樣簡易移動,我們可以利用以下代碼實現:

        Declare Function ReleaseCapture Lib "user32" () As Long
        Declare Function SendMessage Lib "user32" Alias "SendMessageA"(_ByVal hwnd As Long, ByVal wMsg As Long,_ByVal wParam As Long, lParam As Any) As Long
        Public Const HTCAPTION = 2
        Public Const WM_NCLBUTTONDOWN = &&&&HA1  


        下面是將功能加入窗體的MouseDown事件中的代碼,你也可將其加入其它控件的事件中:

        Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        ReleaseCapture
        SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&&&&  


        利用以上代碼,我們就可實現窗體的簡易移動。

        問:如何在桌面上畫圖標?
        答:下面一段程序利用了API函數在屏幕上實現畫圖標功能(注:p是圖標的句柄,可以由ExtractIcon取得)。

        deskhwnd = GetNextWindow(hwnd, GW_HWNDLAST)
        '取最下面一個窗口
        deskdc = GetWindowDC(deskhwnd)
        '取窗口的情景設備
        For i=0 To Screen.Width/32/15
        '將屏幕坐標單位換算成“Pixel”,并計算可畫的圖標數
        For j=0 To Screen.Height/32/15
        DrawIcon deskdc, 32i, 32j, p
        '在桌面上畫圖
        Next j
        Next i


        用函數GetNextWindow取得其句柄,用函數GetWindowDC取出它的虛擬設備。需要注意的是,一旦窗口被覆蓋,圖標就會消失。

        問:在VB應用程序中,如何取消窗體右上角的關閉功能?
        答:如果你不想別人使用程序時直接用右上角的關閉功能來關閉程序,可用以下代碼來實現該功能。

        在Form_Unload事件中加入以下代碼:

        Private Sub Form_Unload(Cancel As Integer)
        Cancel=True
        End Sub


        如果你想在關閉程序時提示是否關閉,可在Form_Unload事件中加入一個判斷語句:
        Private Sub Form_Unload(Cancel As Integer)
        Cancel=True
        Case Select msgbox "您真的想關閉嗎?" ,VbOkCancel
        Case VbOk
        Cancel=False
        Case Else
        Cancel=True
        End Select
        End Sub  


        問:如何讓VB應用程序中的連接具有超級鏈接效果?
        答:我們以一個網址鏈接為例,講解實現的方法。

        首先我們新建一表單,在表單中加入一標簽,Caption屬性為http://ccidnet.com/,MouseIcon值為操作系統下Curors目錄里的Hand.ico文件,MousePointer值為99。

        在標簽的MouseMove事件中加入如下代碼:

        Label1.ForeColor=&&&&HFF  


        在表單的MouseMove事件中加入如下代碼:

        Label1.ForeColor=&&&&HFF0000  


        在標簽的Click事件中加入如下代碼:

        Dim a As String
        a=Shell("Explorer.exe http://ccidnet.com/",3)  


        問:如何讀取外部圖標?
        答:下面的一段程序就顯示了如何讀取程序中的圖標,其中Picture1是一個圖像框,dlgOpen是一個標準對話框,Command1是一個按鈕;ExtractIcon函數有三個參數,第一個參數指定調用的應用程序,一般都用App.hInstance;第二個參數指定圖標文件,可以是DLL、EXE和ICO;第三個參數的不同就決定了其返回值的不同,如果代入-1,就返回文件中包含的圖標數,代入0則返回第一個圖標的句柄,其余依此類推。

        Private Sub Command1_Click()
        Static total As Long,p(50) As Long,i As Integer
        dlgOpen.Filter = "圖標|.Exe;
        .Ico;.Dll"
        dlgOpen.ShowOpen
        If Dir(dlgOpen.filename)<>"" Then
        If ExtractIcon(App.hInstance, dlgOpen.filename, -1) = 0 Then '如果沒有圖標
        MsgBox "No Icon!"
        Else
        total = ExtractIcon(App.hInstance, dlgOpen.filename, -1)
        '取得總圖標數
        For i = 0 To total - 1
        p(i) = ExtractIcon(App.hInstance, dlgOpen.filename, i) '讀取每個圖標
        Next i
        For i = 0 To total - 1 '依次顯示每個圖標
        DrawIcon Picture1.hdc, 34  i, 0, p(i)
        Next i
        End If
        End If
        End Sub

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲六月丁香婷婷综合| 亚洲一区无码中文字幕| 亚洲国产日韩在线成人蜜芽| 水蜜桃视频在线观看免费播放高清 | 色噜噜综合亚洲av中文无码| 国产免费一区二区三区在线观看| 中文字幕精品亚洲无线码一区应用| 色欲aⅴ亚洲情无码AV蜜桃| 国产免费人成在线视频| 美女18毛片免费视频| 亚洲高清免费视频| 最近国语视频在线观看免费播放 | 卡一卡二卡三在线入口免费| 亚洲国产欧美国产综合一区| 国产成人在线免费观看| 日韩毛片一区视频免费| 亚洲午夜国产精品无码| 免费国产成人午夜在线观看| 亚洲第一页在线观看| 好先生在线观看免费播放| 亚洲AV无码成人网站在线观看| 免费人成网站在线播放| a级毛片免费高清毛片视频| 91亚洲va在线天线va天堂va国产| 在线看片韩国免费人成视频| 亚洲国产欧美日韩精品一区二区三区| 情侣视频精品免费的国产 | 91禁漫免费进入| 久久精品国产亚洲AV蜜臀色欲| 国产性生交xxxxx免费| 中文字幕免费观看全部电影| 在线观看亚洲人成网站| 日韩中文无码有码免费视频| 亚洲精品偷拍视频免费观看| 亚洲一区二区影院| 在线日韩av永久免费观看| 国产免费播放一区二区| 亚洲免费观看在线视频| 亚洲天堂中文字幕在线| 真人做A免费观看| 亚洲免费在线观看|