第一篇:VB三要素總結(jié)
窗體屬性:
1. Name 名稱
2. Appearance 顯示效果,是否立體顯示 3. BackColor 背景色
ForeColor 前景色 4.BorderStyle 邊框樣式
5.Caption 標(biāo)題 控件上顯示的文本 6.ControlBox 是否顯示控制菜單框 7.Enabled 對象是否可用,是否響應(yīng)操作 8.Font 設(shè)置字體
9.Height 設(shè)置對象高度
Width 設(shè)置對象寬度
10.Icon設(shè)置控制圖標(biāo)
11.Left 設(shè)置對象與容器左邊的距離
Top 設(shè)置對象與容器上邊的距離 12.Moveable 對象是否可以移動
13.MaxButton 最大化按鈕是否可用,是否有效
MinButton 最小化按鈕是否可用,是否有效 14.Picture 設(shè)置窗體中的圖片,插入圖片
15.StartUpPosition 設(shè)置窗體首次出現(xiàn)時(shí)的顯示位置 16.Visible 設(shè)置對象是否可見
17.WindowState 設(shè)置窗體的可視狀態(tài)
窗體方法
1.Load 加載,裝載(Load 窗體名稱)2.Unload 卸載,關(guān)閉, 從內(nèi)存中刪除(Unload 窗體名稱)
3.Show 顯示(窗體名稱.Show)
4.Hide 隱藏, 不從內(nèi)存中刪除(窗體名稱.Hide)5.Refresh 刷新(窗體名稱.Refresh)
6.PopupMenu 顯示彈出式菜單(窗體名稱.PopupMenu)7.Move 移動窗體或控件(對象名.Move 參數(shù))
8.SetFocus 使窗體或控件獲得焦點(diǎn)(對象名.SetFocus)
事件
1.Click 單擊觸發(fā) 2.DblClick 雙擊觸發(fā)
3.Initialize 創(chuàng)建一個窗體時(shí)觸發(fā) 4.Load 加載窗體時(shí)觸發(fā)
5.QueryUnload 關(guān)閉窗體時(shí)觸發(fā)
6.Unload 在關(guān)閉窗體,卸載窗體時(shí)觸發(fā) 7.MouseMove 鼠標(biāo)移動時(shí)觸發(fā) 8.MouseDown 按下鼠標(biāo)時(shí)觸發(fā) MouseUp 松開鼠標(biāo)時(shí)觸發(fā)
9.Activate 窗體成為活動窗體時(shí)觸發(fā)
Deactivate窗體成為非活動窗體時(shí)觸發(fā) 10.GotFocus 對象獲得焦點(diǎn)時(shí)觸發(fā)
LostFocus 對象失去焦點(diǎn)時(shí)觸發(fā)
11.Paint 當(dāng)一個原本遮蓋著該窗體的窗體被移開,并使該窗體部分
或完全顯露時(shí)觸發(fā)
12.Resize 當(dāng)窗體第一次顯示或當(dāng)窗體的狀態(tài)發(fā)生改變時(shí)觸發(fā)
13.Change 當(dāng)文本框里的內(nèi)容改變時(shí)觸發(fā),當(dāng)滾動條的滾動塊位置
改變后觸發(fā)
14.Scroll 當(dāng)滾動條的滾動塊移動時(shí)觸發(fā) 命令按鈕(CommandButton)常用屬性:
1.Caption
2.Enabled 3.Visible 4.ToolTipText 鼠標(biāo)在按鈕上停留時(shí),顯示的提示文本 常用方法;1.Drag
2.Move
3.SetFocus 常用事件: 1.Click
2.GotFocus 3.LostFocus 標(biāo)簽(Lable)常用屬性: 1.Caption
2.Alignment標(biāo)簽中文本的對齊方式(左,右,中)3.AutoSize 自動調(diào)整標(biāo)簽大小,以適應(yīng)文本的長度
4.WordWrap 標(biāo)簽是否根據(jù)輸入的文本的高度自動改變尺寸 5.BackStyle 是否覆蓋背景, 標(biāo)簽背景是否透明 6.BorderStyle 是否帶邊框
文本框(TextBox)常用屬性: 1.Text: 設(shè)置文本框中的內(nèi)容 2.MultiLine: 是否可以自動換行.3.HideSelection: 文本框失去焦點(diǎn)時(shí),選擇的文本是否仍然高亮
度顯示
4.MaxLength: 設(shè)置文本框中最多可空納的字符數(shù) 5.PasswordChar: 設(shè)置文本框是否作為密碼口令框 6.Locked: 設(shè)置在運(yùn)行時(shí)文本框是否能被編輯修改 7.ScrollBar: 是否具有滾動條
8.SelStart: 設(shè)置文本在文本框中的插入點(diǎn)
9.SelLength;設(shè)置文本框中默認(rèn)選中的字符數(shù) 10.SelText: 設(shè)置文本框中當(dāng)前被選中的文本.常用事件: 1.Change
2.GotFocus
3.LostFocus
滾動條(ScrollBar)
常用屬性:
1.Value: 滾動框在滾動條中的位置
2.LargeChange: 點(diǎn)擊滾動條的空白區(qū)域,滾動框每次移動的距離 3.SmallChange: 點(diǎn)擊滾動箭頭時(shí),滾動框每次移動的距離 4.Max: 設(shè)置滾動條的最大值 5.Min: 設(shè)置滾動條的最小值
常用事件:
1.Scroll
2.Change
定時(shí)器(Timer)
常用屬性: 1.Interval 設(shè)置定時(shí)器事件之間的時(shí)間間隔
常用事件: 2.Timer 當(dāng)達(dá)到Interval屬性規(guī)定的時(shí)間間隔時(shí)觸發(fā)
9.4 圖形,圖像類控件
VB提供了4個與圖形,圖像有關(guān)的控件,分別是圖片框(pictureBox),圖像(Image),形狀(Shape)和線形(Line).其中圖像,形狀和線形又被稱為輕圖形控件.而圖片框可以作為其他控件的容器.1.圖片框(PictureBox)
常用屬性:
Picture 設(shè)置在圖片框中的顯示的圖片
Align
設(shè)置圖片框在窗體中的顯示方式 Autosize 根據(jù)圖片的大小自動調(diào)整圖片框
常用方法: Print
在顯示框中顯示,打印文本
Circle(x,y),r 在以r為半徑,(x,y)坐標(biāo)為圓心的位置畫
2.圖像(Image)
常用屬性: Picture 設(shè)置在圖像框中的顯示的圖片
Stretch 根據(jù)圖像控件的大小自動調(diào)整圖片
3.形狀(Shape)常用屬性: Shape 設(shè)置形狀控件的外觀,圖形
0:矩形,1:正方形,2:橢圓形,3:圓形,4:圓角矩形,5:圓角正方形
4.線形(Line)常用屬性: X1,Y1,X2,Y2 以(X1,Y1)為起點(diǎn),(X2,Y2)為終點(diǎn)畫一條線段
其中形狀和線形控件不支持任何事件 9.5 選擇類控件
1.復(fù)選框(CheckBox)常用屬性: Value 設(shè)置復(fù)選框所處的狀態(tài),是否選中
0: 未選中
1: 選中
2:禁止?fàn)顟B(tài)
Alignment: 設(shè)置對齊方式
0: 復(fù)選框位于標(biāo)題的左邊 1: 復(fù)選框位于標(biāo)題的右邊 復(fù)選框不支持DblClick事件
2.框架(Frame)常用屬性:
Caption 設(shè)置框架的標(biāo)題.Enabled 設(shè)置框架的活動狀態(tài), 框架內(nèi)控件是否可用.3.選項(xiàng)按鈕(OptionButton)常用屬性
Value
設(shè)置選項(xiàng)按鈕的選中狀態(tài)
True 按鈕被選中 False 按鈕沒選中
Enabled 設(shè)置選項(xiàng)按鈕是否被禁止使用
4.列表框(ListBox)
常用屬性:
Columns 設(shè)置列表項(xiàng)顯示的列數(shù)
List(index)
是一個字符串型的數(shù)組, 指定列表框中的每一個列表項(xiàng).index從0開始.Itemdata
設(shè)置列表框中每個列表項(xiàng)的編號 listCount
求列表框中列表項(xiàng)的數(shù)目
listIndex
求列表框中當(dāng)前選擇的列表項(xiàng)的索引 NewIndex 返回最后添加到列表框中的列表項(xiàng)的索
引
Text
返回當(dāng)前選擇的列表項(xiàng)的內(nèi)容
Sorted
列表框中的元素是否自動按字母排序 MultiSelect 是否允許多選
常用方法:
AddItem
向列表框中添加指定列表項(xiàng)
語法: listbox1.AddItem string[, number ] RemoveItem
從列表框中刪除指定列表項(xiàng)
語法: Listbox1.RemoveItem number Clear:
刪除列表框中所有列表框.清空.5.組合框(ComboBox)
常用屬性: Style 設(shè)置組合框的顯示類型和方式
0: 下拉式組合框
1: 簡單組合框
2: 下列列表框
Text 返回當(dāng)前選擇的列表項(xiàng)的內(nèi)容 組合框的其它屬性與列表框類似.第十章
對話框
對話框可以分為模態(tài)對話框和非模態(tài)對話框兩種類型
使用InputBox函數(shù)來創(chuàng)建輸入對話框(函數(shù)格式參照書上184頁)使用MsgBox函數(shù)來創(chuàng)建消息對話框
(函數(shù)格式參照書上186頁)窗體屬性:
1.名稱
2.顯示效果,是否立體顯示 3.背景色
4.前景色,文字顏色 5.邊框樣式
6.標(biāo)題 控件上顯示的文本 7.是否顯示控制菜單框
8.對象是否可用,是否響應(yīng)操作 9.設(shè)置字體
10.設(shè)置對象高度 11.設(shè)置對象寬度
12.設(shè)置控制圖標(biāo)
13.設(shè)置對象與容器左邊的距離 14.設(shè)置對象與容器上邊的距離 15.對象是否可以移動
16.最大化按鈕是否可用,是否有效 17.最小化按鈕是否可用,是否有效 18.設(shè)置窗體中的圖片,插入圖片 19.設(shè)置窗體首次出現(xiàn)時(shí)的顯示位置20.設(shè)置對象是否可見 21.設(shè)置窗體的可視狀態(tài)
窗體方法
1.加載,裝載
2.卸載,關(guān)閉, 從內(nèi)存中刪除 3.顯示
4.隱藏, 不從內(nèi)存中刪除
5.刷新
6.顯示彈出式菜單 7.移動窗體或控件
8.使窗體或控件獲得焦點(diǎn)
事件
1.單擊觸發(fā) 2.雙擊觸發(fā)
3.創(chuàng)建一個窗體時(shí)觸發(fā) 4.加載窗體時(shí)觸發(fā) 5.關(guān)閉窗體時(shí)觸發(fā)
6.關(guān)閉窗體,卸載窗體時(shí)觸發(fā) 7.鼠標(biāo)移動時(shí)觸發(fā) 8.按下鼠標(biāo)時(shí)觸發(fā) 9.松開鼠標(biāo)時(shí)觸發(fā)
10.窗體成為活動窗體時(shí)觸發(fā) 11.窗體成為非活動窗體時(shí)觸發(fā) 12.對象獲得焦點(diǎn)時(shí)觸發(fā) 13.對象失去焦點(diǎn)時(shí)觸發(fā)
14.當(dāng)一個原本遮蓋著該窗體的窗體被移開,并使該窗體部分或完全顯露時(shí)觸發(fā)
15.當(dāng)窗體第一次顯示或當(dāng)窗體的狀態(tài)發(fā)生改變時(shí)觸發(fā)
16.當(dāng)文本框里的內(nèi)容改變時(shí)觸發(fā),當(dāng)滾動條的滾動塊位置改變后觸
發(fā)
17.當(dāng)滾動條的滾動塊移動時(shí)觸發(fā)
命令按鈕(CommandButton)常用屬性:
1.標(biāo)題, 按鈕上顯示的文本 2.按鈕是否可用 3.按鈕是否可見
4.鼠標(biāo)在按鈕上停留時(shí),顯示的提示文本 常用方法; 1.移動按鈕
2.使按鈕獲得焦點(diǎn) 常用事件:
1.單擊按鈕觸發(fā) 2.按鈕獲得焦點(diǎn)觸發(fā) 3.按鈕失去焦點(diǎn)觸發(fā)
標(biāo)簽(Lable)常用屬性: 1.標(biāo)題
2.標(biāo)簽中文本的對齊方式(左,右,中)3.自動調(diào)整標(biāo)簽大小,以適應(yīng)文本的長度
4.標(biāo)簽是否根據(jù)輸入的文本的高度自動改變尺寸5.標(biāo)簽是否覆蓋背景, 標(biāo)簽背景是否透明 6.標(biāo)簽是否帶邊框
文本框(TextBox)常用屬性: 1.設(shè)置文本框中的內(nèi)容
2.是否可以自動換行.3.文本框失去焦點(diǎn)時(shí),選擇的文本是否仍然高亮度顯示 4.設(shè)置文本框中最多可空納的字符數(shù) 5.設(shè)置文本框是否作為密碼口令框
6.設(shè)置在運(yùn)行時(shí)文本框是否能被編輯修改 7.是否具有滾動條
8.設(shè)置文本在文本框中的插入點(diǎn) 9.設(shè)置文本框中默認(rèn)選中的字符數(shù) 10.設(shè)置文本框中當(dāng)前被選中的文本.常用事件:
1.文本框內(nèi)容改變觸發(fā) 2.文本框獲得焦點(diǎn)時(shí)觸發(fā) 3.文本框失去焦點(diǎn)時(shí)觸發(fā)
滾動條(ScrollBar)
常用屬性:
1.滾動框在滾動條中的位置
2.點(diǎn)擊滾動條的空白區(qū)域,滾動框每次移動的距離 3.點(diǎn)擊滾動箭頭時(shí),滾動框每次移動的距離 4.設(shè)置滾動條的最大值 5.設(shè)置滾動條的最小值 常用事件:
1.拖動滾動框時(shí)觸發(fā)
2.改變滾動框的位置后觸發(fā)
定時(shí)器(Timer)
常用屬性:
1.設(shè)置定時(shí)器事件之間的時(shí)間間隔 常用事件:
1.當(dāng)達(dá)到Interval屬性規(guī)定的時(shí)間間隔時(shí)觸發(fā) 9.4 圖形,圖像類控件
VB提供了4個與圖形,圖像有關(guān)的控件,分別是圖片框(pictureBox),圖像(Image),形狀(Shape)和線形(Line).其中圖像,形狀和線形又被稱為輕圖形控件.而
可以作為其他控件的容器.1.圖片框(PictureBox)常用屬性:
設(shè)置在圖片框中的顯示的圖片 設(shè)置圖片框在窗體中的顯示方式 根據(jù)圖片的大小自動調(diào)整圖片框 常用方法:
在顯示框中顯示,打印文本
在以r為半徑,(x,y)坐標(biāo)為圓心的位置畫
2.圖像(Image)
常用屬性:
設(shè)置在圖像框中的顯示的圖片
根據(jù)圖像控件的大小自動調(diào)整圖片
3.形狀(Shape)常用屬性:
設(shè)置形狀控件的外觀,圖形
4.線形(Line)9.5 選擇類控件
1.復(fù)選框(CheckBox)常用屬性:
設(shè)置復(fù)選框所處的狀態(tài),是否選中 設(shè)置對齊方式 復(fù)選框不支持
事件
2.框架(Frame)
常用屬性:
設(shè)置框架的標(biāo)題.設(shè)置框架的活動狀態(tài), 框架內(nèi)控件是否可用.3.選項(xiàng)按鈕(OptionButton)
常用屬性
設(shè)置選項(xiàng)按鈕的選中狀態(tài) 設(shè)置選項(xiàng)按鈕是否被禁止使用
4.列表框(ListBox)
常用屬性:
設(shè)置列表項(xiàng)顯示的列數(shù)
是一個字符串型的數(shù)組, 指定列表框中的每一個列表項(xiàng).index從0開始.設(shè)置列表框中每個列表項(xiàng)的編號 求列表框中列表項(xiàng)的數(shù)目
求列表框中當(dāng)前選擇的列表項(xiàng)的索引 返回最后添加到列表框中的列表項(xiàng)的索引 返回當(dāng)前選擇的列表項(xiàng)的內(nèi)容
列表框中的元素是否自動按字母排序 是否允許多選
常用方法:
向列表框中添加指定列表項(xiàng) 從列表框中刪除指定列表項(xiàng) 刪除列表框中所有列表框.清空.5.組合框(ComboBox)
常用屬性:
設(shè)置組合框的顯示類型和方式 返回當(dāng)前選擇的列表項(xiàng)的內(nèi)容 組合框的其它屬性與列表框類似.第十章
對話框
對話框可以分為模態(tài)對話框和非模態(tài)對話框兩種類型
使用InputBox函數(shù)來創(chuàng)建輸入對話框(函數(shù)格式參照書上184頁)使用MsgBox函數(shù)來創(chuàng)建消息對話框
(函數(shù)格式參照書上186頁)
第二篇:VB常見問題總結(jié)
快捷域名:http://yujimyfavorcn.programfan.com 創(chuàng)建于:2005-6-5 共 6篇文章 訪問統(tǒng)計(jì):169
VB常見問題總結(jié)
點(diǎn)擊數(shù):138 發(fā)布日期:2005-6-5 18:28:00 【字體:大 中 小】【評論】【打印】
各位朋友大家好,如果你在這里的時(shí)間夠長,那么你會發(fā)現(xiàn)很多帖子的問題是相同的,既然這樣,不如總結(jié)到一起讓初學(xué)者來翻看,再熱心的大蝦也不愿意把一個答案重復(fù)幾十遍:)Ryowu制作匆忙,難免錯漏,還請見諒。
若朋友您想要問如何才能學(xué)好vb,或者入門需要看什么教材一類的問題,建議你抱著一顆刻苦鉆研的心去面對這門學(xué)問,多動腦,少提問,遇到不知道的,多查msdn,多看老貼,或者用斷點(diǎn)來親自試驗(yàn)。實(shí)在不會了,請?jiān)诖速N中查找您的常見問題,如果還沒有,那請您發(fā)出新貼,向各位高手討教:)
查找方法:按ctrl+f,輸入要查找的問題關(guān)鍵字即可
注明:本貼源于VB編程樂園網(wǎng)站,本人只是稍微編輯了一下。
每個問題中間用///分隔,這只是一部分最常見到的問題,以后會逐漸更新。
//////////////////////////////////////////////////////////////////////////////////// 如何用VB建立快捷方式
Private Declare Function fCreateShellLink Lib “STKIT432.DLL”(ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String)As Long Sub Command1_Click()Dim lReturn As Long '添加到桌面
lReturn = fCreateShellLink(“....Desktop”, “Shortcut to Calculator”, “c:windowscalc.exe”, “")'添加到程序組
lReturn = fCreateShellLink(”“, ”Shortcut to Calculator“, ”c:windowscalc.exe“, ”“)'添加到啟動組
lReturn = fCreateShellLink(”Startup“, ”Shortcut to Calculator“, ”c:windowscalc.exe“, ”“)End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何讓程序在 Windows 啟動時(shí)自動執(zhí)行?
有以下二個方法:
方法1: 直接將快捷方式放到啟動群組中。
方法2: 在注冊檔 HKEY_LOCAL_MACHINE 中找到以下機(jī)碼 SoftwareMicrosoftWindowsCurrentVersionRun 新增一個字串值,包括二個部份
1.名稱部份:自己取名,可設(shè)定為 AP 名稱。
2.資料部份:則是包含 '全路徑檔案名稱' 及 '執(zhí)行參數(shù)' 例如:
Value Name = Notepad Value Data = c:windowsnotepad.exe
//////////////////////////////////////////////////////////////////////////////////// 在 TextBox 中如何限制只能輸入數(shù)字?
參考下列程序:
Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub
//////////////////////////////////////////////////////////////////////////////////// 我希望 TextBox 中能不接受某些特定字符,例如 '@#$%”,有沒有簡單一點(diǎn)的寫法?
方法有好幾種, 以下列舉二種:
方法1: 可以使用 IF 或 Select Case 一個個判斷, 但如果不接受的字符多時(shí), 較麻煩!方法2: 將要剔除的字符統(tǒng)統(tǒng)放在一個字串中,只要一個 IF 判斷即可!如下: Private Sub Text1_KeyPress(KeyAscii As Integer)Dim sTemplate As String sTemplate = “!@#$%^&*()_+-=” '用來存放不接受的字符 If InStr(1, sTemplate, Chr(KeyAscii))> 0 Then KeyAscii = 0 End If End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何讓鼠標(biāo)進(jìn)入 TextBox 時(shí)自動選定 TextBox 中之整串文字?
這個自動選定反白整串文字的動作,會使得輸入的資料完全取代之前在 TextBox 中的所有字符。
Private Sub Text1_GotFocus()Text1.SelStart = 0 Text1.SelLength = Len(Text1)End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何檢查軟盤驅(qū)動器里是否有軟盤?
使用:
Dim Flag As Boolean
Flag = Fun_FloppyDrive(“A:”)If Flag = False Then MsgBox “A:驅(qū)沒有準(zhǔn)備好,請將磁盤插入驅(qū)動器!”, vbCritical
' '函數(shù):檢查軟驅(qū)中是否有盤的存在 ' Private Function Fun_FloppyDrive(sDrive As String)As Boolean On Error Resume Next Fun_FloppyDrive = Dir(sDrive)<> “" End Function
//////////////////////////////////////////////////////////////////////////////////// 如何彈出和關(guān)閉光驅(qū)托盤?
Option Explicit
Private Declare Function mciSendString Lib ”winmm.dll“ Alias ”mciSendStringA“(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long)As Long
Private Sub Command1_Click()mciExecute ”set cdaudio door open“ '彈出光驅(qū) Label2.Caption = ”彈 出“ End Sub
Private Sub Command2_Click()Label2.Caption = ”關(guān) 閉“
mciExecute ”set cdaudio door closed“ '合上光驅(qū) Unload Me End End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何讓你的程序在任務(wù)列表隱藏
Private Declare Function RegisterServiceProcess Lib ”kernel32“(ByVal ProcessID As Long, ByVal ServiceFlags As Long)As Long Private Declare Function GetCurrentProcessId Lib ”kernel32“()As Long
'請你試試 Ctrl+Alt+Del 是不是你的程序隱藏了 Private Sub Command1_Click()i = RegisterServiceProcess(GetCurrentProcessId, 1)End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何用程序控制滑鼠游標(biāo)(Mouse Cursor)到指定位置?
以下這個例子,當(dāng) User 在 Text1 中按下 'Enter' 鍵后,滑鼠游標(biāo)會自動移到 Command2 按鈕上方
請?jiān)诼暶鲄^(qū)中加入以下聲明:
'16 位版本:(Sub 無傳回值)Declare Sub SetCursorPos Lib ”User“(ByVal X As Integer, ByVal Y As Integer)
'32 位版本:(Function 有傳回值,Integer 改成 Long)Declare Function SetCursorPos Lib ”user32“(ByVal x As Long, ByVal y As Long)As Long
'在 Form1 中加入以下程序碼:
Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then x% =(Form1.Left + Command2.Left + Command2.Width / 2 + 60)/ Screen.TwipsPerPixelX y% =(Form1.Top + Command2.Top + Command2.Height / 2 + 360)/ Screen.TwipsPerPixelY SetCursorPos x%, y% End If End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何用鼠標(biāo)移動沒有標(biāo)題的 Form,或移動 Form 中的控制項(xiàng)?
在聲明區(qū)中放入以下聲明:
'16 位版本:(Sub 無返回值)Private Declare Sub ReleaseCapture Lib ”User“()Private Declare Sub SendMessage Lib ”User“(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Long)
'32 位版本:(Function 有返回值,Integer 改成 Long)Private Declare Function ReleaseCapture Lib ”user32“()As Long Private Declare Function SendMessage Lib ”user32“ Alias ”SendMessageA“(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)As Long
'共用常數(shù):
Const WM_SYSCOMMAND = &H112 Const SC_MOVE = &HF012
'若要移動 Form,程序碼如下:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim i As Long i = ReleaseCapture i = SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0)End Sub
'以上功能也適用于用鼠標(biāo)在 Form 中移動控制項(xiàng),程序碼如下:
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim i As Long i = ReleaseCapture i = SendMessage(Command1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0)End Sub
//////////////////////////////////////////////////////////////////////////////////// 檢查文件是否存在?
Function FileExists(filename As String)As Integer Dim i As Integer On Error Resume Next i = Len(Dir$(filename))If Err Or i = 0 Then FileExists = False Else FileExists = True End Function
//////////////////////////////////////////////////////////////////////////////////// 如何設(shè)置對VB數(shù)據(jù)庫連接的動態(tài)路徑
我個人因?yàn)榻?jīng)常作一些數(shù)據(jù)庫方面的程序,對于程序間如何與數(shù)據(jù)庫進(jìn)行接口的問題之煩是深有體會,因?yàn)閂B在數(shù)據(jù)庫鏈接的時(shí)候,一般是靜態(tài),即數(shù)據(jù)庫存放的路徑是固定的,如用VB的DATA,adodc,DataEnvironment 等到作數(shù)據(jù)庫鏈接時(shí),如果存放數(shù)據(jù)庫的路徑被改變的話,就會找不到路經(jīng),真是一個特別煩的事。
筆者的解決方法是利用app.path 來解決這個問題。
一、用data控件進(jìn)行數(shù)據(jù)庫鏈接,可以這樣: 在form_load()過程中放入: private form_load()Dim str As String '定義 str = App.Path If Right(str, 1)<> ”“ Then str = str + ”“ End If data1.databasename=str & ”數(shù)據(jù)庫名“ data1.recordsource=”數(shù)據(jù)表名“ data1.refresh sub end 這幾句話的意為,打開當(dāng)前程序運(yùn)行的目錄下的數(shù)據(jù)庫。你只要保證你的數(shù)據(jù)庫在你程序所在的目錄之下就行了。
二、利用adodc(ADO Data Control)進(jìn)行數(shù)據(jù)庫鏈接: private form_load()Dim str As String '定義 str = App.Path If Right(str, 1)<> ”“ Then str = str + ”“ End If str = ”Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=“ & str & ”tsl.mdb“ Adodc1.ConnectionString = str Adodc1.CommandType = adCmdText
Adodc1.RecordSource = ”select * from table3“ Adodc1.Refresh end sub
三、利用DataEnvironment進(jìn)行數(shù)據(jù)庫鏈接 可在過程中放入: On Error Resume Next
If DataEnvironment1.rsCommand1.State <> adStateClosed Then DataEnvironment1.rsCommand1.Close '如果打開,則關(guān)閉 End If 'i = InputBox(”請輸入友人編號:“, ”輸入“)'If i = ”“ Then Exit Sub
DataEnvironment1.Connection1.Open App.Path & ”userdatabasetsl.mdb“ DataEnvironment1.rsCommand1.Open ”select * from table3 where 編號='“ & i & ”'“ 'Set DataReport2.DataSource = DataEnvironment1 'DataReport2.DataMember = ”command1“ 'DataReport2.show end sub
四、利用ADO(ActiveX Data Objects)進(jìn)行編程: 建立連接:
dim conn as new adodb.connection dim rs as new adodb.recordset dim str str = App.Path If Right(str, 1)<> ”“ Then str = str + ”“ End If str = ”Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=“ & str & ”tsl.mdb“ conn.open str rs.cursorlocation=aduseclient rs.open ”數(shù)據(jù)表名“,conn,adopenkeyset.adlockpessimistic 用完之后關(guān)閉數(shù)據(jù)庫: conn.close set conn=nothing
//////////////////////////////////////////////////////////////////////////////////// 如何讓用戶自行輸入方程式,并計(jì)算其結(jié)果?
假設(shè)我們要讓使用者在“方程式”欄位中自由輸入方程式,然后利用方程式進(jìn)行計(jì)算,則引用ScriptControl控件可以很方便地做到。
(ScriptControl 控件附屬于VB 6.0,如果安裝后沒有看到此一控件,可在光盤的
CommonToolsVBScript 目錄底下找此一控件,其.文件名為Msscript.ocx。)假設(shè)放在窗體上的ScriptControl控件名稱為ScriptControl1,則在“計(jì)算”按鈕的Click事件中編寫如下代碼: Dim Statement As String Statement = ”X=“ + Text1.Text + vbCrLf + _ ”Y=“ + Text2.Text + vbCrLf + _ ”MsgBox “"計(jì)算結(jié)果=”“ & Y ” ScriptControl1.ExecuteStatement(Statement
//////////////////////////////////////////////////////////////////////////////////// 如何讓一個 App 永遠(yuǎn)保持在最上層(Always on Top)
請?jiān)诼暶鲄^(qū)中加入以下聲明
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
Const SWP_NOMOVE = &H2 '不更動目前視窗位置 Const SWP_NOSIZE = &H1 '不更動目前視窗大小 Const HWND_TOPMOST =-1 '設(shè)定為最上層
Const HWND_NOTOPMOST =-2 '取消最上層設(shè)定 Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
'將 APP 視窗設(shè)定成永遠(yuǎn)保持在最上層
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
'取消最上層設(shè)定
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS
//////////////////////////////////////////////////////////////////////////////////// 我要如何在程序中開啟網(wǎng)頁?
在聲明區(qū)中聲明如下(在.bas 檔中用 Public, 在 Form 中用 Private)
Private Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA”(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)As Long
在程序中
Intranet:
ShellExecute Me.hWnd, “open”, “http://Intranet主機(jī)/目錄”, “", ”“, 5 Internet:
ShellExecute Me.hWnd, ”open“, ”http://004km.cn.tw“, ”“, ”“, 5
//////////////////////////////////////////////////////////////////////////////////// VB可以產(chǎn)生四角形以外其他形狀的 Form 嗎?
這個問題,您一定無法想像有多容易,您可以產(chǎn)生任何形狀的 Form,但必須借助 CreateEllipticRgn 及 SetWindowRgn 二個 API,例如:
Private Declare Function CreateEllipticRgn Lib ”gdi32“(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long)As Long
Private Declare Function SetWindowRgn Lib ”user32“(ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean)As Long
Private Sub Form_Load()Dim lReturn As Long Me.Show lReturn = SetWindowRgn(hWnd, CreateEllipticRgn(10, 10, 340, 150), True)End Sub
執(zhí)行結(jié)果圖片
CreateEllipticRgn 之四個參數(shù)說明如下:
X1:橢圓中心點(diǎn)之X軸位置,但以 Form 的實(shí)№邊界為限。Y1:橢圓中心點(diǎn)之Y軸位置,但以 Form 的實(shí)№邊界為限。X2:橢圓長邊的長度 Y2:橢圓短邊的長度的
//////////////////////////////////////////////////////////////////////////////////// 如何移除 Form 右上方之『X』按鈕?
其實(shí) Form 右上方之三個按鈕分別對應(yīng)到 Form 左上方控制盒(ControlBox)中的幾個選項(xiàng)(縮到最小 / 放到最大 / 關(guān)閉),而其中的最大化(MaxButton)及最小化(Minbutton)都可以直接在 Form 的屬性中設(shè)定,但是 VB 并沒有提供設(shè)定『X』按鈕的功能!要達(dá)到這個功能,必須借助 API:
由于『X』按鈕對應(yīng)到 ControlBox 的關(guān)閉選項(xiàng),所以我們只要移除系統(tǒng) Menu(就是ControlBox)的關(guān)閉選項(xiàng)即可!您自己可以先看看您現(xiàn)在使用的 Browser 左上方的系統(tǒng) Menu,【關(guān)閉】選項(xiàng)是在第幾個,不是第 6 個!是第 7 個,分隔線也算一個!分隔線才是第 6 個!
當(dāng)我們移除了關(guān)閉選項(xiàng)之後,會留下一條很奇怪的分隔線,所以最好連分隔線也一并移除。而 Menu 的 Index 是從 0 開始,分隔線是第 6 個,所以 Index = 5。
修正:為了讓程序碼在 Windows NT 也能運(yùn)作正常,將各 Integer 型態(tài)改成 Long。89.05.04
'抓取系統(tǒng) Menu 的 hwnd Private Declare Function GetSystemMenu Lib ”user32“ Alias ”GetSystemMenu“(ByVal hwnd As Long, ByVal bRevert As Long)As Long '移除系統(tǒng) Menu 的 API Private Declare Function RemoveMenu Lib ”user32“ Alias ”RemoveMenu“(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long)As Long '第一個參數(shù)是系統(tǒng) Menu 的 hwnd '第二個參數(shù)是要移除選項(xiàng)的 Index
//////////////////////////////////////////////////////////////////////////////////// 如何制作透明的表單(Form)?
請?jiān)诼暶鲄^(qū)中放入以下聲明
Const GWL_EXSTYLE =(-20)Const WS_EX_TRANSPARENT = &H20& Const SWP_FRAMECHANGED = &H20 Const SWP_NOMOVE = &H2 Const SWP_NOSIZE = &H1 Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Const HWND_NOTOPMOST =-2
Private Declare Function SetWindowLong Lib ”user32“ Alias ”SetWindowLongA“(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong 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
在 Form_Load 使用的范例如下:
Private Sub Form_Load()SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, SWP_SHOWME Me.Refresh End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何在 Menu 中加入美美的圖案?
在模組中加入以下程序碼:
Declare Function GetMenu Lib ”user32“(ByVal hwnd As Long)As Long
Declare Function GetSubMenu Lib ”user32“(ByVal hMenu As Long, ByVal nPos As Long)As Long
Declare Function GetMenuItemID Lib ”user32“(ByVal hMenu As Long, ByVal nPos As Long)As Long
Declare Function SetMenuItemBitmaps Lib ”user32“(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long)As Long
Public Const MF_BITMAP = &H4&
Type MENUITEMINFO cbSize As Long fMask As Long fType As Long fState As Long wID As Long hSubMenu As Long hbmpChecked As Long hbmpUnchecked As Long dwItemData As Long dwTypeData As String cch As Long End Type
Declare Function GetMenuItemCount Lib ”user32“(ByVal hMenu As Long)As Long
Declare Function GetMenuItemInfo Lib ”user32“ Alias ”GetMenuItemInfoA“(ByVal hMenu As Long, ByVal un As Long, _ ByVal b As Boolean, lpMenuItemInfo As MENUITEMINFO)As Boolean
Public Const MIIM_ID = &H2 Public Const MIIM_TYPE = &H10 Public Const MFT_STRING = &H0&
在 Form 中加入一個 PictureBox,屬性設(shè)定為: AutoSize = True Picture =.bmp(尺寸大小為 13x13,不可設(shè)定為.ico)
在 Form_Load 中的程序碼如下:
Private Sub Form_Load()'取得程序中 Mennu 的 handle hMenu& = GetMenu(Form1.hWnd)'取得第一個 submenu 的 handle hSubMenu& = GetSubMenu(hMenu&, 0)'取得 Submenu 第一個選項(xiàng)的 menuId hID& = GetMenuItemID(hSubMenu&, 0)'加入圖片
SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture '在一個 Menu 選項(xiàng)中您一共可以加入二張圖片 '一張是 checked 狀態(tài)用,一張是 unchecked 狀態(tài)用 End Sub
89、如何把小圖片填滿 Form 成為背景圖?
對于這個問題,我看過很多方法,有的方法很麻煩,要聲明一大堆 Type,用一大堆的 API,但是有一個最笨但我認(rèn)為最好的方法如下:(就好像拼磁磚一樣,不用任何 API, 不必聲明任何 Type)
在 Form 中放一個 PictureBox,Picture 屬性設(shè)定為某一張小圖,AutoSize 屬性性設(shè)定 True,完成的模組如下:
Sub PictureTile(Frm As Form, Pic As PictureBox)Dim i As Integer Dim t As Integer Frm.AutoRedraw = True Pic.BorderStyle = 0 For t = 0 To Frm.Height Step Pic.ScaleHeight For i = 0 To Frm.Width Step Pic.ScaleWidth Frm.PaintPicture Pic.Picture, i, t Next i Next t End Sub
PictureTile 這個模組共有二個參數(shù),第一個是表單名稱,第二個則是 PictureBox 的名稱。以下為一應(yīng)用實(shí)例:
Private Sub Form_Load()PictureTile Me, Picture1 End Sub
90、如何把小圖片填滿 MDIForm 成為背景圖?
以下這個范例,要:
1、一個 MDIForm:不必設(shè)定任何屬性。
2、一個 Form1:不一定是 MDIChild,最好 MDIChild 為 False,但是 AutoRedraw 設(shè)成 True。
3、Form1 上面放一個隱藏的 PictureBox:名稱為 Picture1,不必設(shè)定 Picture 屬性。
4、一張圖片的完整路徑。
'將以下模組放入 MDIForm 的聲明區(qū)中:
Sub TileMDIBkgd(MDIForm As Form, bkgdtiler As Form, bkgdfile As String)If bkgdfile = ”“ Then Exit Sub Dim ScWidth%, ScHeight% ScWidth% = Screen.Width / Screen.TwipsPerPixelX ScHeight% = Screen.Height / Screen.TwipsPerPixelY Load bkgdtiler bkgdtiler.Height = Screen.Height bkgdtiler.Width = Screen.Width bkgdtiler.ScaleMode = 3 bkgdtiler!Picture1.Top = 0 bkgdtiler!Picture1.Left = 0 bkgdtiler!Picture1.Picture = LoadPicture(bkgdfile)bkgdtiler!Picture1.ScaleMode = 3
For n% = 0 To ScHeight% Step bkgdtiler!Picture1.ScaleHeight For o% = 0 To ScWidth% Step bkgdtiler!Picture1.ScaleWidth bkgdtiler.PaintPicture bkgdtiler!Picture1.Picture, o%, n% Next o% Next n%
MDIForm.Picture = bkgdtiler.Image Unload bkgdtiler End Sub
以下為一應(yīng)用實(shí)例:
Private Sub MDIForm_Load()TileMDIBkgd Me, Form1, ”c:windowsTiles.bmp“ End Sub
//////////////////////////////////////////////////////////////////////////////////// 關(guān)閉指定的程序
要做到像 Task Manager 一樣,可以關(guān)閉指定的程序,方法如下:
在聲明區(qū)中放入以下聲明:(16位 改成 win31 API)
Declare Function FindWindow Lib ”user32“ Alias ”FindWindowA“(ByVal lpClassName As String, ByVal lpWindowName As String)As Long
Declare Function PostMessage Lib ”user32“ Alias ”PostMessageA“(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)As Long
Public Const WM_CLOSE = &H10
以下之范例示范如何關(guān)閉一個視窗標(biāo)題(Caption)為 【小算盤】的程序:
Dim winHwnd As Long Dim RetVal As Long winHwnd = FindWindow(vbNullString, ”小算盤“)Debug.Print winHwnd If winHwnd <> 0 Then RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)If RetVal = 0 Then
MsgBox ”Error posting message.“ End If Else MsgBox ”并未開啟小算盤程序.“ End If
//////////////////////////////////////////////////////////////////////////////////// 如何隱藏及再顯示鼠標(biāo)
很簡單,只用到了一個 ShowCursor API,參數(shù)也很簡單,只有一個 bShow,設(shè)定值如下:
True:顯示鼠標(biāo) / False:隱藏鼠標(biāo)
Declare Function ShowCursor Lib ”user32“ Alias ”ShowCursor“(ByVal bShow As Long)As Long
//////////////////////////////////////////////////////////////////////////////////// 如何從您的應(yīng)程序中結(jié)束 Windows 重開機(jī)?
很多軟件在 Setup 完之后都會自動關(guān)機(jī)重開機(jī),以便讓某些設(shè)定值可以生效,其實(shí)這個功能很簡單,只要幾行指令就可以做到了!
關(guān)鍵就是要使用 ExitWindowsEx 這個 API,這個 API 只有二個參數(shù),第一個參數(shù)是一個 Flag,目的是要告訴 Windows 要以什么方式關(guān)機(jī),在下面的聲明中會列出可用的 Flag 常數(shù)值,至于第二個參數(shù)則是一個保留值,只要設(shè)定成 0 就可以了。
很重要的一點(diǎn)是:如果您想要讓關(guān)機(jī)動作更順利,記得要 Unload 您的程序!
'在聲明區(qū)中(Bas Module / Form Module)加入以下聲明:
Public Const EWX_LOGOFF = 0 '這四個常數(shù)值可以并用 Public Const EWX_SHUTDOWN = 1 Public Const EWX_REBOOT = 2 Public Const EWX_FORCE = 4 Declare Function ExitWindowsEx Lib ”user32“ Alias ”ExitWindowsEx“(ByVal uFlags As Long, ByVal dwReserved As Long)As Long
'實(shí)例:如果您想強(qiáng)迫關(guān)機(jī)重開機(jī),程序碼如下:
ret = ExitWindowsEx(EWX_FORCE OR EWX_REBOOT, 0)
//////////////////////////////////////////////////////////////////////////////////// 如何用 VB 啟動其他程序或開啟各類文件?
要在 VB 中啟動其他程序或開啟各類文件,最簡單的方法就是使用 Shell 函數(shù),例如:要開啟 C:Test.txt 這個文字文件,則要啟動記事本來開啟這個文件案,程序如下:
Dim RetVal As Long RetVal = Shell(”C:WindowsNotepad.exe C:Test.txt“, 3)'3代表視窗會最大化,并具有駐點(diǎn),細(xì)節(jié)請查 Help
以上的語法雖然很簡單,但有一個風(fēng)險(xiǎn),若是我們不知道開啟文件的執(zhí)行文件位置,則程序便會有錯誤產(chǎn)生,尤其一般軟件在安裝的時(shí)候都可以讓使用者自行選擇安裝目錄,所以執(zhí)行文件的路徑不能寫死在程序中,要解決這個問題,就是在注冊文件中找到該副文件名之啟動程序位置,再放入 Shell 中。
但是以上的作法必須熟悉注冊文件,而且必須使用 Windows API 來 Call(注冊文件的存取以后會有專文來說明),如果您對注冊文件的存取及 API 的使用都很純熟的話,當(dāng)然沒問題,但是有些人對于注冊文件會有畏懼,這時(shí)候,您可以使用下面的方法:
Shell(”Start C:Test.txt“)
您完全不用知道這份文件的啟動程序是什么?它放在什么地方?參數(shù) Start 便會自動依照附文件名到注冊文件中找到啟動程序來開啟該份文件案!不賴吧!
注一:在 Windows 95/98/NT平臺中, 什么副文件名之文件案, 該由什么執(zhí)行文件來啟動, 都設(shè)在關(guān)聯(lián)中,代碼為 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExtensions
例如: 名稱為 ”.DOC“ 之資料為 ”C:Progra~1Micros~2OfficeWINWORD.EXE ^.DOC“
名稱為 ”.TXT“ 之資料為 ”notepad.exe ^.txt“
注二:使用 Start 之唯一缺點(diǎn)為 ”會比直接指定執(zhí)行文件稍為慢 0.5-1 秒鐘.“
//////////////////////////////////////////////////////////////////////////////////// 如何找出 Windows 目錄的正確路徑?
有時(shí)候我們在程序中必須用到 Windows 的目錄,以存取 Windows 目錄下的文件,照理說,這應(yīng)該是最簡單的功能,前提是每個人在 Setup Windows 必須采用 Windows 的預(yù)設(shè)目錄名稱,也就是 C:Windows,但是常常不是這樣,有時(shí)候由於要使新舊版本共存,或者其他原因,有人會將 Windows 目錄改成 c:win95、c:win98、Windows95 或 Windows98......若是程序中必須用到 Windows 目錄,要找到正確的路徑,做法如下:
'在聲明區(qū)中加入以下聲明:
Const MAX_PATH = 260
Private Declare Function GetWindowsDirectory Lib ”kernel32“ Alias ”GetWindowsDirectoryA“(ByVal lpBuffer As String, ByVal nSize As Long)As Long
Public Function GetWinPath()Dim strFolder As String Dim lngResult As Long strFolder = String(MAX_PATH, 0)lngResult = GetWindowsDirectory(strFolder, MAX_PATH)If lngResult <> 0 Then GetWinPath = Left(strFolder, InStr(strFolder, Chr(0))1 Next lNum sGetFile = Mid(sGetFile, 2)'得到文件名 MsgBox sGetFile
//////////////////////////////////////////////////////////////////////////////////// 如何防止使用者按下 CTRL + ALT + DEL
有些時(shí)候,我們的應(yīng)用程序執(zhí)行時(shí),不希望使用者按下 CTRL + ALT + DEL 來異常結(jié)束程序或關(guān)機(jī),這時(shí)候我們可以在啟動程序時(shí),將 CTRL + ALT + DEL 功能鍵之功能取消,然后在結(jié)束程序之前,再從新恢復(fù) CTRL + ALT + DEL 之功能。
在模組聲明區(qū)中加入以下聲明及模組:
Declare Function SystemParametersInfo Lib ”user32“ Alias ”SystemParametersInfoA“(ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long)As Long
Public Const SPI_SCREENSAVERRUNNING = 97
Public Sub Disable_Ctrl_Alt_Del()'讓 CTRL+ALT+DEL 失效 Dim AyW As Integer Dim TurFls As Boolean
AwY = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, TurFls, 0)End Sub
Public Sub Enable_Ctrl_Alt_Del()'讓 CTRL+ALT+DEL 恢復(fù)功能 Dim AwY As Integer Dim TurFls As Boolean
AwY = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, TurFls, 0)End Sub
'實(shí)際使用時(shí),在 Form 中加入以下程序碼:
Private Sub Form_Load()Disable_Ctrl_Alt_Del End Sub
Private Sub Form_Unload(Cancel As Integer)Enable_Ctrl_Alt_Del End Sub
//////////////////////////////////////////////////////////////////////////////////// 如何取得文件大???
VB6 提供了一個新的物件模型,叫做 FSO(File System Object)物件模型,運(yùn)用它,我們可以很方便的處理磁盤、資料夾和文件的一些動作。
FSO 物件模型含有好幾個物件,其中有一個 File 物件是用來求得文件的相關(guān)資訊,在目前這個主題,我們就可以使用 File 物件!它有一個屬性是 Size,對文件來說就是指文件的大小(單位為位元組)。(注一)
雖然使用 File 物件的 Size 屬性就可以求得文件的大小,但是它有以下二個缺點(diǎn):
1、只能用于 VB6 以后的版本。
2、它不是 VB6 內(nèi)定的功能,必須另外引用 Scrrun.dll(Microsoft Scripting Runtime)才可以!
以下的二個方法就可以使用在所有的 VB 版本中(含 VB6),而且是 VB 內(nèi)定的功能:
1、FileLen 函數(shù):返回一個 Long,代表一個文件的長度,單位是位元組。
語法:FileLen(pathname)' pathname 是全路徑之文件名稱 適用:取得一個尚未開啟的文件的長度大小(注二)
2、LOF 函數(shù):返回一個 Long,單位為位元組,用來代表由 Open 陳述式所開啟的文件之大小。
語法:LOF(filenumber)' filenumber 是一個文件代碼 適用:取得一個已開啟的文件的長度大小
注一:File 物件的 Size 屬性除了可以求得一個文件的大小,也可以用來取得整個目錄的所有文件大?。?/p>
注二:使用 FileLen 函數(shù)時(shí),如果所指定的文件正在開啟中,則所返回的值是這個文件在開啟前的大小。
//////////////////////////////////////////////////////////////////////////////////// 如何移除或更改桌面背景的底色圖案(Wallpaper)?
SystemParametersInfo 這個 API 可以設(shè)定許多 Windows 系統(tǒng)的功能參數(shù),而其中一個參數(shù)就是桌面底圖!通常一般的使用者會透過控制面板中的【顯示器】來設(shè)定桌面底圖。
在底下的范例中,我們使用 SPI_SETDESKWALLPAPER 這個參數(shù)及圖片文件名稱來設(shè)定新的桌面底圖,同時(shí)使用 SPIF_SENDWININICHANGE 來通知各個視窗這個改變。
'在表單的聲明區(qū)中加入以下聲明及常數(shù):
Private Declare Function SystemParametersInfo Lib ”user32“ Alias ”SystemParametersInfoA“(ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long)As Long
Const SPI_SETDESKWALLPAPER = 20 Const SPIF_UPDATEINIFILE = &H1 Const SPIF_SENDWININICHANGE = &H2
'在表單上加入一個 CommandButton(Command1)來移除桌面底圖,程序碼如下:
Private Sub Command1_Click()Dim X As Long X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, ”(None)“, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)MsgBox ”桌面底圖(Wallpaper)已經(jīng)被移除“ End Sub
'在表單上加入另一個 CommandButton(Command2)來更改桌面底圖,程序碼如下:
Private Sub Command2_Click()Dim FileName As String Dim X As Long FileName = ”c:windowstest.bmp“ X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, FileName, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)MsgBox ”桌面底圖(Wallpaper)已經(jīng)被更改“ End Sub
//////////////////////////////////////////////////////////////////////////////////// 一個快速注冊 DLL 及 OCX 的方法
有時(shí)候我們在 VB 中要引用某一個 DLL 或 OCX 時(shí),會出現(xiàn)文件未注冊的訊息,這時(shí),我們可以使用人工注冊的方法,也就是直接在命令列中使用 regsvr32.exe 來做,做法如下:
文件注冊:C:WindowsSystemRegsvr32.exe C:WindowsSystemTest.ocx 取消注冊:C:WindowsSystemRegsvr32.exe /u C:WindowsSystemTest.ocx
這些動作我們也可以直接寫到程序中,使用 Shell 來執(zhí)行,但是我現(xiàn)在要說的,都不是上面提到的方法!
注意看羅!方法如下:
1、在資源管理器中找到 C:WindowsSystemRegsvr32.exe 并【復(fù)制】(按鼠標(biāo)右鍵選復(fù)制)
2、將目錄移到 C:WindowsSendTo 后,執(zhí)行【貼上快捷方式】(按鼠標(biāo)右鍵選貼上快捷方式)
3、將快捷方式名稱改成【REGISTER】
4、OK
現(xiàn)在,如果您想替某一個文件做注冊動作,例如:C:WindowsSystemTest.ocx,您只要打開資源管理器,找到 C:WindowsSystemTest.ocx,按鼠標(biāo)右鍵選【傳送到】【REGISTER】即可完成注冊動作了!
注:有一個地方要注意的是,Regsvr32.exe 只能注冊 32 位的文件!如果要用它來注冊 16 位的文件,會有錯誤訊息產(chǎn)生。
//////////////////////////////////////////////////////////////////////////////////// 如何用TextBox打開和保存文件
作為輕量級的控件,TextBox控件使用率很高,但相關(guān)的資料極少談及如何用TextBox控件打開和保存文件,大都采用回避的態(tài)度,對VB初學(xué)者帶來很多不便。筆者近日為友人做一個英文朗讀軟件,按友人的要求,軟件要能象MS的記事本那樣能打開和保存文檔。其實(shí)實(shí)現(xiàn)方法并不復(fù)雜,現(xiàn)將心得寫出來,希望對大家有幫助。如果您有更好的方法,請來信:handanfang@163.net。
'新建標(biāo)準(zhǔn)EXE,加入一個TextBox控件,一個公共對話框,兩個菜單。
'打開
Private Sub mnuOpen_Click()CommonDialog1.Filter = ”文檔文件(*.txt)|*.txt|所有文件(*.*)|*.*“ CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #1 Text1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)Close #1 End Sub
'保存
Private Sub mnuSave_Click()On Error Resume Next
CommonDialog1.Filter =”文檔文件(*.txt)|*.txt|所有文件(*.*)|*.*“ CommonDialog1.ShowSave Open CommonDialog1.FileName For Output As #1 Print #1, Text1.Text Close 1 End Sub
TextBox只支持打開64K以下的文件,建議最好設(shè)置出錯處理。以上程序在PWin98、VB6.0下調(diào)試通過。
//////////////////////////////////////////////////////////////////////////////////// 如何判斷目前文件資源管理器中,文件名稱之?dāng)U展文件名是顯示或隱藏?
由于我在集團(tuán)性的資訊處工作,所負(fù)責(zé)的公司系統(tǒng)有的是屬于外點(diǎn),例如潤泰建設(shè)有個單位是行銷業(yè)務(wù)處,他們的工作是賣公司蓋的房子,所以他們的業(yè)務(wù)人員平常都是待在各工地的接待中心,我替他們開發(fā)的銷售系統(tǒng)在工地的部份是屬于單機(jī)作業(yè)的,使用 Access 資料庫,每一個星期資料回傳總公司一次。業(yè)務(wù)人員由于流動性大,不太了解系統(tǒng),有時(shí)候,系統(tǒng)出了問題,業(yè)務(wù)人員又搞不清楚狀況,于是我會要求他們將資料庫 sale.mdb 回傳公司,結(jié)果,常鬧笑話,原來他們回傳公司的,常常不是 sale.ldb 就是 sale.exe,為什么呢?
原因很簡單,因?yàn)樗麄兊奈募Y源管理器中,設(shè)定了將擴(kuò)展文件名隱藏起來,結(jié)果只看到三個不同圖示的 sale 文件(分別是 Sale.mdb、Sale.ldb、Sale.exe),不太會操作的業(yè)務(wù)人員根本分不清楚那一個圖示的 sale 文件才是資料庫文件案!
我們在 VB 的程序中要如何判斷,目前文件資源管理器中的設(shè)定是否顯示擴(kuò)展文件名呢?
Private Declare Function GetFileTitle Lib ”comdlg32.dll“ Alias ”GetFileTitleA"(ByVal lpszFile As String, ByVal lpszTitle As String, ByVal cbBuf As Integer)As Integer Private Function HasExtension(sFileName As String)As Long Dim sTemp As String Dim lTemp As Long
sTemp = String(1, 0)lTemp = GetFileTitle(sFileName, sTemp, Len(sTemp))If lTemp < 0 Then HasExtension =-1: Exit Function sTemp = String(lTemp, 0)Call GetFileTitle(sFileName, sTemp, Len(sTemp))
If(Left$(Right$(Left$(sTemp, lTemp網(wǎng)站導(dǎo)航誠邀加盟友情鏈接-贊助本站 Copyright? 1999-2004 Programfan.com.All Rights Reserved 網(wǎng)站制作&維護(hù):Hannibal Email: yaoz@163.com 網(wǎng)站合作及廣告聯(lián)系:(021)28540908
第三篇:VB課程總結(jié)
《VB 程序設(shè)計(jì)》課程總結(jié)
授課時(shí)間:2010-2011學(xué)年第二學(xué)期 授課班級:課程學(xué)時(shí):64(32)任課教師:
1.教學(xué)情況
能認(rèn)真?zhèn)湔n、遵守學(xué)院的教學(xué)規(guī)章制度,沒有遲到、提前下課、誤課等教學(xué)事故發(fā)生。教學(xué)過程中,教師之間相互聽課,本學(xué)期相繼聽了的課程,感覺受益匪淺,從中學(xué)習(xí)了很多教學(xué)方法;以重點(diǎn)教師說課為形式進(jìn)行集體備課、建立完善標(biāo)準(zhǔn)化考核題庫、期末考試采用上機(jī)考試;本學(xué)期計(jì)算機(jī)基礎(chǔ)教學(xué)部每周都會組織各種科研講座、教學(xué)研討以及教師輪流講課45分鐘,內(nèi)容豐富,本學(xué)期通過教研活動學(xué)了很多其他有經(jīng)驗(yàn)教師的教學(xué)心得和體會,另外找到了一些科研的方向。
32學(xué)時(shí)共16次理論課的時(shí)間想把VB講的很透徹,對于老師而言還是有一定難度的,因?yàn)橹R點(diǎn)比較多,還要把全國或江蘇省VB等級考試的知識點(diǎn)介紹全面一些;對于學(xué)生而言,要在課后自己認(rèn)真的復(fù)習(xí)和深入的理解課堂知識,同時(shí)還得自學(xué)在課堂上沒有講的內(nèi)容,是需要一個過程的。以往的實(shí)驗(yàn)報(bào)告都是以紙質(zhì)稿的作業(yè)形式布臵,導(dǎo)致了某些學(xué)生只是簡單的抄寫代碼,并不一定真正的去在計(jì)算機(jī)上設(shè)計(jì)實(shí)現(xiàn)程序;本學(xué)期以及上學(xué)期一直使用天空教室布臵測試作業(yè)、理論知識點(diǎn)的總結(jié)以及實(shí)驗(yàn)作業(yè)的效果較好,學(xué)生把實(shí)驗(yàn)做好后可以直接提交,教師改作業(yè)時(shí)也比較直觀,可以把程序運(yùn)行一下,哪些程序代碼有問題可以及時(shí)用留言的方式提出,學(xué)生反應(yīng)也比較好。天空教室還可以布臵測試作業(yè),類似真正的考試,學(xué)生對知識點(diǎn)的掌握也比較深刻。
下面對VB教學(xué)中出現(xiàn)的問題做一個總結(jié)。VB教學(xué)內(nèi)容主要包括VB中常用控件,VB語言基礎(chǔ),VB基本語句,數(shù)組,過程,文件。如果16次課,每一次課都能夠講得透徹深入,學(xué)生都能接受,需要認(rèn)真的備課準(zhǔn)備。有幾個難點(diǎn)的地方:VB的語言基礎(chǔ):因?yàn)樯婕暗降臄?shù)據(jù)類型、函數(shù)內(nèi)容很多,知識點(diǎn)很散,我的解決方法是在下面教學(xué)中經(jīng)常地使用VB的常用函數(shù),以加深學(xué)生對這一部分知識的復(fù)習(xí),同時(shí)讓學(xué)生發(fā)現(xiàn)VB的常用函數(shù)還是滿有用;數(shù)組:數(shù)組是一組具有相同類型的有序變量的集合,集合中的每個變量稱為數(shù)組元素。文件:文件這部分內(nèi)容似乎更加的抽象,盡量把這些問題簡單化,簡潔化,回避一些比較澀的知識點(diǎn),讓學(xué)生不會產(chǎn)生厭惡的情緒,至少不討厭文件的相關(guān)操作。
2.學(xué)生反饋意見
每學(xué)期課程結(jié)束時(shí),學(xué)校教務(wù)網(wǎng)都要求學(xué)生對教師課堂教學(xué)情況進(jìn)行評價(jià),學(xué)生的反映較好。
3.改進(jìn)措施及建議
《VB程序設(shè)計(jì)》是一門實(shí)踐性很強(qiáng)的課程,在今后的教學(xué)中要更加注意理論與實(shí)踐的結(jié)合,把枯燥的理論知識與鮮活的案例結(jié)合起來,這就要求教師平時(shí)要多注意積累資料。在多媒體課件制作方面,不僅要做到圖文并茂,還要做到聲文并茂、影文并茂,這一方面要求教師平時(shí)要多積累教學(xué)資料,另一方面也要求教師要提高計(jì)算機(jī)應(yīng)用能力,如Flash等軟件的應(yīng)用。
基礎(chǔ)教學(xué)部教師:王媛媛
2011年7月1日
第四篇:VB課程設(shè)計(jì)總結(jié)
通過幾周對VB的學(xué)習(xí),使我增加了對VB課程的了解.
首先了解到VB的特點(diǎn),VB是在原來的Basic語言基礎(chǔ)上發(fā)展而來的.Visual指的是可視的圖形用戶界面開發(fā)方法.不需編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立的對象添加到屏幕上的某點(diǎn)即可.如果使用者諸多PAINT之類的繪圖程序,則實(shí)際上已經(jīng)掌握了創(chuàng)建用戶界面的必要技巧.BASIC指的是B語言,一種在計(jì)算機(jī)技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語言之一.VB在原來BASIC語言的基礎(chǔ)上進(jìn)一步發(fā)展至今包含了數(shù)百條語句,函數(shù)及關(guān)鍵詞,其中很多和WINDOWS GUI有直接關(guān)系,VB不僅是可視語言,而且是面向?qū)ο蟮木幊陶Z言.其特點(diǎn)是概念多,實(shí)踐性強(qiáng),涉及面廣.之后,了解到一些基本的概念,含義.例如類,就是創(chuàng)建對象實(shí)例的模板包含了創(chuàng)建的屬性描述和行為特征的定義.而此中的對象又是類的一個實(shí)例,繼承了類的屬性,方法,而VB中長用的對象有窗體,控件等.但我們在建立之前必須清楚對象的三要素:屬性,方法和事件.而建立程序的步驟大致可分為:(1)啟動程序,裝載和顯示窗體.(2)窗體等待事件的發(fā)生.(3)事件發(fā)生時(shí),執(zhí)行對應(yīng)的事件發(fā)生過程.(4)再重復(fù)(2)(3)的過程(5)最后直接遇到“END”結(jié)束語句結(jié)束程序的運(yùn)行或按“結(jié)束”強(qiáng)行停止程序的運(yùn)行.再用VB創(chuàng)建一個應(yīng)用程序,第一步驟是創(chuàng)建窗體,它是用戶與應(yīng)用程序進(jìn)行交互操作的可視部分,窗體是創(chuàng)建界面的基本構(gòu)造模塊,也是創(chuàng)建應(yīng)用程序所使用的對象.而后必要設(shè)置窗體的屬性,從而構(gòu)出窗體的外觀,設(shè)置好的窗體,窗體就作為對象,能夠?qū)ζ涠x的事件作出響應(yīng),這也是所謂的窗體事件,而窗體事件又包括窗體本身事件,鍵盤事件和鼠標(biāo)事件.在了解窗體基本知識就還應(yīng)了解VB的語言基礎(chǔ),其中包括了代碼模塊(窗體模塊,標(biāo)準(zhǔn)模塊,類模塊),注釋,分行和續(xù)行,數(shù)據(jù)類節(jié)(字節(jié)型,邏輯型,數(shù)值型,日期型),變量與常數(shù),運(yùn)算符與表達(dá)式,數(shù)組,控制結(jié)構(gòu),子過程和函數(shù).同時(shí),為了編程,我們還應(yīng)培養(yǎng)良好的編程習(xí)慣,首先是對象,變量及過程的命名約定,然結(jié)構(gòu)化編碼約定.在VB中創(chuàng)建應(yīng)用程序之際也就是和對象打交道之時(shí),對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理,對象可以是應(yīng)用程序的一部分,比如可以是控件,窗體,或數(shù)據(jù)訪問對象.控件也是對象中的一種,主要用來獲取用戶的輸入信息和顯示輸出信息.應(yīng)用程序中可用的控件包括文本框,命令按扭和列表框.而通過另外一些控件可以訪問其他應(yīng)用程序并處理數(shù)據(jù).VB程序設(shè)計(jì)同時(shí)可設(shè)計(jì)出一個更好的菜單系統(tǒng),這樣就可以使用戶了解到更大量有關(guān)應(yīng)用程序設(shè)計(jì)和結(jié)構(gòu)的信息,精心規(guī)劃菜單與工具欄有助于提高應(yīng)用程序的可用性.同時(shí)在基于WINDOWS的應(yīng)用程序中,對話框被用來提示應(yīng)用程序繼續(xù)運(yùn)行所需的數(shù)據(jù)或者用戶顯示信息.對話框是一種特殊類型的窗體對象,在VB中按對話框的創(chuàng)建有三種類型的對話框,他們是預(yù)定義對話框,自定義對話框和標(biāo)準(zhǔn)對話框.對于自定義對話框和標(biāo)準(zhǔn)對話框,使可以完成與用戶之間的交互.學(xué)習(xí)VB程序設(shè)計(jì)后,增加對此的認(rèn)識,深入學(xué)習(xí)VB程序就可掌握新的軟件,新的編程環(huán)境,學(xué)習(xí)此課程,也可學(xué)會使用開發(fā)環(huán)境,開發(fā)工具的方法.才能更好地跟上計(jì)算機(jī)學(xué)科的發(fā)展.
第五篇:VB關(guān)鍵字總結(jié)
1.編譯命令關(guān)鍵字總結(jié)
作用
關(guān)鍵字 定義編譯常數(shù)。
#Const 編譯程序碼中的選擇區(qū)塊。
#If...Then...#Else
計(jì)算當(dāng)前凈值。
NPV, PV
7.控制流關(guān)鍵字總結(jié)
作用
關(guān)鍵字
分支。
GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暫停程序。
DoEvents, End, Exit, Stop 2.變量與常數(shù)關(guān)鍵字總結(jié)
作用
關(guān)鍵字 循環(huán)。
Do...Loop For...Next, For Each...Next, While...Wend, With 指定值。
Let 判斷。
Choose, If...Then...Else, Select Case, Switch 聲明變量或常數(shù)。
Const, Dim, Private, Public, New, Static 使用過程。
Call, Function, Property Get, Property Let, Property Set, Sub 聲明模塊為私有。
Option Private Module 8.目錄和文件關(guān)鍵字總結(jié) 判斷
Variant。IsArray, IsDate, IsEmpty, IsError, IsMissing, 作用
關(guān)鍵字
改變目錄或文件夾。
ChDir IsNull, IsNumeric, IsObject, TypeName, VarType 引用當(dāng)前對象。
Me 改變磁盤。
ChDrive 變量須明確聲明。
Option Explicit 復(fù)制文件。
FileCopy 設(shè)置缺省數(shù)據(jù)類型。
Deftype 新建目錄或文件夾。
MkDir
刪除目錄或文件夾。
RmDir 3.運(yùn)算符關(guān)鍵字總結(jié)
作用
關(guān)鍵字 重新命名文件、目錄或文件夾。Name 算術(shù)。
^,-, *, /, , Mod, +, & 返回當(dāng)前路徑。
CurDir 比較。
=, <>, <, >, <=, >=, Like, Is 返回文件的日期、時(shí)間。
FileDateTime 邏輯運(yùn)算。
Not, And, Or, Xor, Eqv, Imp 返回文件、目錄及標(biāo)簽屬性。
GetAttr
返回文件長度。
FileLen 4.錯誤關(guān)鍵字總結(jié)
作用
關(guān)鍵字
作用
關(guān)鍵字 返回文件名或磁盤標(biāo)簽。
Dir 產(chǎn)生運(yùn)行時(shí)錯誤。
Clear, Error, Raise
返回 Error 變體。
CVErr 設(shè)置有關(guān)文件屬性的信息。
SetAttr 取得錯誤信息。
Error
提供錯誤信息。
Er r 9.日期與時(shí)間關(guān)鍵字總結(jié) 運(yùn)行時(shí)的錯誤處理。
On Error, Resume
類型確認(rèn)。
IsError 作用
關(guān)鍵字
設(shè)置當(dāng)前日期或時(shí)間。
Date ,Now, Time 5.Collection 對象關(guān)鍵字總結(jié)
作用
關(guān)鍵字
作用
關(guān)鍵字 計(jì)算日期。
DateAdd, DateDiff, DatePart 建立一個 Collection 對象。
Collection 添加對象到集合對象中。
Add 返回日期。
DateSerial, DateValue 從集合對象中刪除對象。
Remove
引用集合對象中的項(xiàng)。
Item 返回時(shí)間。
TimeSerial, TimeValue
設(shè)置日期或時(shí)間。
Date, Time 6.金融關(guān)鍵字總結(jié)
作用
關(guān)鍵字 計(jì)時(shí)。
Timer 計(jì)算折舊率。
DDB, SLN, SYD 10.輸入與輸出關(guān)鍵字總結(jié) 計(jì)算未來值。
FV 作用
關(guān)鍵字 計(jì)算利率。
Rate 訪問或創(chuàng)建文件。
Open 計(jì)算本質(zhì)利率。
IRR, MIRR 關(guān)閉文件。
Close, Reset 計(jì)算期數(shù)。
NPer 控制輸出外觀。
Format, Print, Print #, Spc, Tab, Width # 計(jì)算支付。
IPmt, Pmt, PPmt 復(fù)制文件。
FileCopy 取得文件相關(guān)信息。
EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, 作用
關(guān)鍵字
ANSI 值變換為字符串。
Chr Loc, LOF, Seek 文件管理。
Dir, Kill, Lock, Unlock, Name 大小寫變換。
Format, LCase, UCase 從文件讀入。
Get, Input, Input #, Line Input # 日期變換為數(shù)字串。
DateSerial, DateValue 返回文件長度。
FileLen 數(shù)字進(jìn)制變換。
Hex, Oct 設(shè)置或取得文件屬性。
FileAttr, GetAttr, SetAttr 數(shù)值變換為字符串。
Format, Str 設(shè)置文件讀寫位置。
Seek 數(shù)據(jù)類型變換。
CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 寫入文件。
Print #, Put, Write # CSng, CStr, CVar, CVErr, Fix, Int
日期變換。
Day, Month, Weekday, Year 11.數(shù)據(jù)類型關(guān)鍵字總結(jié)
作用
關(guān)鍵字 時(shí)間變換。
Hour, Minute, Second 數(shù)據(jù)類型變換。
CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 字符串變換為 ASCII 值。
Asc
字符串變換為數(shù)值。
Val CSng, CStr, CVar, CVErr, Fix, Int 設(shè)置數(shù)據(jù)類型。
Boolean, Byte, Currency, Date, Double, Integer, Long, 時(shí)間變換為數(shù)字串。
TimeSerial, TimeValue Object, Single, String, Variant(default)16.字符串處理關(guān)鍵字總結(jié)
檢查數(shù)據(jù)類型。
IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, 作用
關(guān)鍵字
比較兩個字符串。
StrComp IsNumeric, IsObject
變換字符串。
StrConv 12.數(shù)學(xué)關(guān)鍵字總結(jié)
作用
關(guān)鍵字 大小寫變換。
Format, LCase, UCase 三角函數(shù)。
Atn, Cos, Sin, Tan 建立重復(fù)字符的字符串。
Space, String 一般計(jì)算。
Exp, Log, Sqr 計(jì)算字符串長度。
Len 產(chǎn)生隨機(jī)數(shù)。
Randomize, Rnd 設(shè)置字符串格式。
Format 取得絕對值。
Abs
取得表達(dá)式的正負(fù)號。
Sgn 重排字符串。
LSet, RSet 數(shù)值變換。
Fix, Int 處理字符串。
InStr, Left, LTrim, Mid, Right, RTrim, Trim
設(shè)置字符串比較規(guī)則。
Option Compare 13.數(shù)組關(guān)鍵字總結(jié)
作用
關(guān)鍵字
作用
關(guān)鍵字 運(yùn)用 ASCII 與 ANSI 值。
Asc, Chr 確認(rèn)一個數(shù)組。
IsArray
建立一個數(shù)組。
Array 17.其他關(guān)鍵字總結(jié) 改變?nèi)笔∽钚≈怠?/p>
Option Base 作用
關(guān)鍵字 聲明及初始化數(shù)組。
Dim, Private, Public, ReDim, Static 處理擱置事件。
DoEvents 判斷數(shù)組下標(biāo)極限值。
LBound, UBound 運(yùn)行其他程序。
AppActivate, Shell 重新初始化一個數(shù)組。
Erase, ReDim 發(fā)送按鍵信息給其他應(yīng)用程序。SendKeys
發(fā)出警告聲。
Beep 14.注冊關(guān)鍵字總結(jié)
作用
關(guān)鍵字 系統(tǒng)。
Environ 刪除程序設(shè)置。
DeleteSetting 提供命令行字符串。
Command 讀入程序設(shè)置。
GetSetting, GetAllSettings Macintosh。
MacID, MacScript 保存程序設(shè)置。
SaveSetting 自動。
CreateObject, GetObject
色彩。
QBColor, RGB 15.變換關(guān)鍵字總結(jié)