六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

VB開發應用程序答疑

[摘要]VB以其易于學習、易于開發而深受廣大開發人員的喜愛,但是在實際開發時,我們也會遇到很多問題,筆者總結了一些開發中常見的問題,給出了通用的解決方法,希望對VB開發人員有所幫助。 問:在VB應用程序中,...
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


主站蜘蛛池模板: 日本在线www | 亚洲欧洲一区二区三区在线 | 性刺激性色爽爱小说 | 午夜视频啪啪 | 自拍 亚洲 | 小小的日本动漫在线观看免费高清 | 视色视频在线观看 | 欧美一级成人一区二区三区 | 亚洲最大免费视频网 | 素人啪啪| 日韩生活片| 青青青青青青草 | 亚洲网站大全 | 中文字幕视频在线观看 | 欧美一级特黄乱妇高清视频 | 日日摸夜夜夜夜夜添 | 欧美在线1 | 日本www色视频成人免费 | 一级女人18片毛片免费视频 | 色综合综合网 | 亚州国产| 天天久久| 色综合色综合色综合色综合网 | 手机看片99 | 日本人视频网站一 | 天天射天天干天天舔 | 欧美一级欧美三级在线观看 | 日本一区二区免费高清视频 | 最新欧美伦禁片在线观看 | 日本午夜免费福利视频 | 日本大片免费观看视频 | 日韩精品一区二区三区免费观看 | 色成人综合 | 天天插天天透 | 性配久久久 | 日日噜噜噜夜夜爽爽狠狠 | 中文在线最新版天堂 | 性生活一区 | 青娱乐精品在线 | 中文字幕在线天堂 | 午夜毛片不卡高清免费 |