版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章常用控件
7.1單選按鈕和復(fù)選框
7.2框架
7.3列表框和組合框
7.4滾動(dòng)條和滾動(dòng)滑塊
7.5時(shí)鐘
7.6進(jìn)度條*7.7數(shù)字增減按鈕*7.8Animation控件*7.9SSTab控件
7.10鼠標(biāo)器、鍵盤(pán)*7.11剪貼板VB可使用的三類控件內(nèi)部控件位于工具箱中,不能刪除ActiveX控件擴(kuò)展名為.ocx的獨(dú)立文件圖標(biāo)控件:工程—部件—控件添加到工具箱中代碼控件:工程—引用不能添加到工具箱中可插入對(duì)象其他應(yīng)用程序創(chuàng)建的對(duì)象,如Excel工作表等,可以添加到工具箱中作為控件使用工程—部件—可插入對(duì)象1.單選按鈕從多個(gè)選項(xiàng)(標(biāo)題)中選擇一個(gè)
Name—option Caption—標(biāo)題 Value(默認(rèn)屬性)—True選定 False未選定Alignment—確定按鈕和標(biāo)題的相對(duì)位置 0:按鈕在左,標(biāo)題在右(缺省設(shè)置) 1:按鈕在右,標(biāo)題在左單選按鈕標(biāo)題7.1單選按鈕(OptionButton)和復(fù)選框(CheckBox)
Style—確定標(biāo)題和按鈕的顯示方式0--Standard:標(biāo)準(zhǔn)方式(顯示標(biāo)題及按鈕) 1--Graphical:圖形方式(只顯示標(biāo)題)
Picture(Style=1) 放置未選中時(shí)的圖標(biāo)、位圖或文字 DownPicture(Style=1) 放置選中時(shí)的圖標(biāo)、位圖或文字 DisabledPicture(Style=1) 放置禁止選擇時(shí)的圖標(biāo)、位圖或文字事件 Click鼠標(biāo)單擊后,其Value值將自動(dòng)改變
2.復(fù)選框也叫檢查框,可以同時(shí)選擇多個(gè)標(biāo)題。Name—CheckCaption—標(biāo)題Value(默認(rèn)屬性)—確定是否被選中0—Unchecked未被選定1—Checked選定2—Grayed灰色,禁止選擇Alighment:同單選按鈕Style:同單選按鈕例7.1通過(guò)單選按鈕和復(fù)選框使文本框內(nèi)的文字顯示不同的字體和修飾。用click()編程復(fù)選框標(biāo)題Style=1Style=07.2框架(Frame)框架內(nèi)控件的創(chuàng)建方法:
建立獨(dú)立控件的方法:先創(chuàng)建框架,再單擊工具箱上的控件,然后用鼠標(biāo)(此時(shí)鼠標(biāo)光標(biāo)出現(xiàn)“+”)在框架內(nèi)適當(dāng)位置拖拉出適當(dāng)大小的控件(不能使用雙擊工具箱上控件的自動(dòng)方式)
建立控件數(shù)組的方法:先創(chuàng)建框架,建立第一個(gè)控件,然后通過(guò)“剪切”和粘貼(Ctrl+V)的方法將選定的控件粘貼到框架內(nèi),從而建立一個(gè)控件數(shù)組(不能直接用鼠標(biāo)拖動(dòng)控件的方式)框架的作用是將若干個(gè)單選按鈕作為一個(gè)組,或者對(duì)一組控件進(jìn)行整體激活或屏蔽操作。
框架設(shè)Caption為"字體"Name—Frame Caption—框架標(biāo)題 Enabled—確定該控件是否可用 False:標(biāo)題呈灰色,框架內(nèi)的對(duì)象被屏蔽,不允許進(jìn)行操作
True:標(biāo)題呈正常顯示,允許對(duì)框架內(nèi)控件進(jìn)行操作 Visible—確定該控件是否可見(jiàn) True:框架及其控件可見(jiàn) False:框架及其控件被隱藏事件 框架可以響應(yīng)Click、DblClick事件,但一般不用編寫(xiě)有關(guān)框架的事件過(guò)程。例7.2設(shè)計(jì)字體和字號(hào)兩個(gè)框架,其中各有若干個(gè)字體和字號(hào)單選按鈕。在選擇了某個(gè)字體和字號(hào)后,按“確定”按鈕,使文本框內(nèi)的文字按指定的字體和字號(hào)顯示。
7.3列表框(ListBox)和組合框(ComboBox)1.列表框用來(lái)顯示項(xiàng)目列表,程序運(yùn)行時(shí),用戶可從其中可以選擇一項(xiàng)或多項(xiàng)。如果列表框中選項(xiàng)較多,在列表框中裝不下時(shí),列表框會(huì)自動(dòng)加上垂直滾動(dòng)條。在列表框中可以單列顯示,也可以多列顯示,還可以在選項(xiàng)左邊增加復(fù)選框。Style=0Style=1(1)主要屬性Name—List List—是一個(gè)字符型數(shù)組,存放列表項(xiàng),List(0)表示第1個(gè)列表項(xiàng)內(nèi)容,List(i)表示第i+1個(gè)列表項(xiàng)內(nèi)容①在屬性窗口的List屬性中輸入:每輸入一項(xiàng)用Ctrl+回車鍵,可繼續(xù)輸入下一項(xiàng)②在程序中用AddItem方法加入:List1.AddItem列表項(xiàng)[,索引號(hào)]ListIndex—獲得選中項(xiàng)目的序號(hào),沒(méi)有項(xiàng)目選中時(shí)為-1Selected—邏輯型數(shù)組,Selected(i)的值為T(mén)rue表示第i+1項(xiàng)被選中,否則沒(méi)有選中。ListCount—列表框中項(xiàng)目總數(shù),ListCount-1是最后一項(xiàng)的下標(biāo)Sorted—確定List中列表項(xiàng)的排列方式。True:按字母順序排列;False:按加入先后順序排列Text(默認(rèn)屬性)—被選中列表項(xiàng)的內(nèi)容引用List1.List(ListIndex)與List1.Text具有相同的值MultiSelect—確定是否可以進(jìn)行多項(xiàng)選擇0--None:禁止多項(xiàng)選擇1--Simple:簡(jiǎn)單多項(xiàng)選擇(鼠標(biāo)每擊一次可選中一個(gè),按空格鍵取消最近的選擇)2--Extended:按住Ctrl,用鼠標(biāo)單擊可選中不連續(xù)的多項(xiàng)或空格鍵取消選擇;按住Shift同時(shí)用鼠標(biāo)或光標(biāo)移動(dòng)鍵可選擇連續(xù)的多項(xiàng)Style—列表框樣式0—只顯示列表項(xiàng)文本1—列表項(xiàng)文本前帶復(fù)選框Column—指定列表框中列的數(shù)目0—垂直單列顯示,垂直滾動(dòng)n—n列顯示,先顯示第1列,再顯示第2列,水平滾動(dòng)ListIndex、ListCount、Selected、Text只能在程序中引用Sorted必須在屬性窗口中設(shè)置ListIndex和Selected分別用來(lái)檢測(cè)選中的列表項(xiàng)的序號(hào)及某個(gè)列表項(xiàng)是否被選擇,它們既可以在程序中被引用,也可以在程序中設(shè)置Column=0Column=3(2)方法① AddItem方法可以在列表框中加入一個(gè)項(xiàng)目 對(duì)象.AddItemitem[,index]List1.AddItem“計(jì)算機(jī)軟件技術(shù)基礎(chǔ)”,3(Item若為其他類型的常數(shù),則按字符串對(duì)待) ② RemoveItem方法可以從列表框中刪除一個(gè)項(xiàng)目對(duì)象.RemoveItemindexList1.RemoveItem7 ③ Clear方法可以清除列表框中的所有項(xiàng)目 對(duì)象.Clear(3)事件Click事件,一般不必編程,因?yàn)橥ǔist控件與命令按鈕聯(lián)合使用,在選擇列表框中的項(xiàng)目時(shí),需要按命令按鈕,可使用命令按鈕的Click事件來(lái)讀取列表框Text屬性值。
例7.3①在Form_Load()事件中用AddItem方法在列表框中加入5個(gè)項(xiàng)目。②允許通過(guò)“添加”操作將文本框中輸入的內(nèi)容作為項(xiàng)目添加到列表框中③當(dāng)選中列表框的某個(gè)項(xiàng)目后單擊“刪除”按鈕,可將選中的項(xiàng)目刪除掉;④當(dāng)選中列表框中的項(xiàng)目然后單擊“修改”按鈕時(shí),可將選中的項(xiàng)目?jī)?nèi)容放入文本框中由用戶進(jìn)行修改,然后單擊“修改確認(rèn)”按鈕確認(rèn)修改結(jié)果。初始時(shí),“修改確認(rèn)”按鈕是不可選的編制5個(gè)事件過(guò)程
①Form_Load()添加5項(xiàng)②Command1_Click()將文本框的內(nèi)容添加到列表框中③Command2_Click()刪除選中的項(xiàng)④Command3_Click()將選中的項(xiàng)放入文本框⑤Command4_Click()將文本框的內(nèi)容替換列表框內(nèi)容2.組合框(ComboBox)
組合框?qū)⑽谋究蚝土斜砜蚪M合成一個(gè)控件,用戶既可以在列表框中選定項(xiàng)目,也可以在文本框中輸入文本來(lái)選定項(xiàng)目。設(shè)計(jì)狀態(tài)運(yùn)行狀態(tài)設(shè)計(jì)狀態(tài)運(yùn)行狀態(tài)下拉式組合框Style=0只顯示文本框和下拉箭頭,不顯示列表框,文本框高度不能改變可直接輸入文本,也可單擊下拉箭頭彈出列表框,選中某項(xiàng)后,該項(xiàng)先寫(xiě)入文本框,同時(shí)下拉列表消失簡(jiǎn)單組合框Style=1同時(shí)顯示文本框和列表框,沒(méi)有下拉箭頭,列表框的大小必須在設(shè)計(jì)時(shí)拉出,且在運(yùn)行中不再改變。可直接輸入文本,也可從列表框選中項(xiàng)目,文本框內(nèi)顯示,列表框始終顯示。下拉式列表框Style=2與下拉式組合框相同與下拉式組合框相似,不同的是:只能從列表項(xiàng)中選擇,不能輸入文本列表框中的項(xiàng)目清單只有在程序運(yùn)行時(shí)才能看到。下拉式組合框和簡(jiǎn)單組合框的文本框中輸入的數(shù)據(jù)不能自動(dòng)添加到列表框中。(1)主要屬性Name—ComboStyle—設(shè)置組合框樣式0—下拉式組合框(默認(rèn)樣式)1—簡(jiǎn)單組合框2—下拉列表框?qū)傩訪ist、ListIndex、ListCount、Sorted、Text(默認(rèn)屬性)與列表框相同屬性SelStart,SelLength,SelText與文本框相同(2)方法主要使用與列表框相同的AddItem、RemoveItem和Clear方法,用于在列表框中添加、刪除或清除項(xiàng)目(3)事件三種風(fēng)格的組合框均響應(yīng)Click()事件簡(jiǎn)單組合框可響應(yīng)DblClick事件例7.4在窗口中選擇復(fù)選框“計(jì)算機(jī)”后,可在下拉式組合框的下拉列表框中選擇計(jì)算機(jī)型號(hào),也可直接在組合框的文本框中輸入計(jì)算機(jī)型號(hào),當(dāng)選取操作系統(tǒng)的類型并按了“OK”按鈕后,右邊文本框中顯示您所選擇的計(jì)算機(jī)、臺(tái)數(shù)及操作系統(tǒng)類型。需要編制5個(gè)事件過(guò)程:Form_Load()初始化Check1_Click()設(shè)置Combo1和Text1可用與否Check2_Click()設(shè)置Option1和Option2可用與否Combo1_LostFocus()將Combo1.text裝入Combo1.List中將選中的信息裝入列表框Command1_Click()7.4滾動(dòng)條(ScrollBar)和滾動(dòng)滑塊(Slider)1.滾動(dòng)條滾動(dòng)條的主要作用是:①與不支持滾動(dòng)的控件(如窗體)配合使用,給它們提供滾動(dòng)查看的功能。②實(shí)現(xiàn)數(shù)據(jù)的連續(xù)調(diào)整,如控制聲音音量或調(diào)整圖片顏色等。滾動(dòng)條分為垂直滾動(dòng)條VScroll和水平滾動(dòng)條HScroll(1)主要屬性Name—HScroll,VScrollMax—最大值(-32,768~32,767)Min—最小值(-32,768~32,767)SmallChange:單擊滾動(dòng)條兩端箭頭時(shí),滑塊移動(dòng)的增量LargeChange:單擊滾動(dòng)條空白處時(shí),滑塊移動(dòng)的增量Value(默認(rèn)屬性)—滑塊位置所代表的值水平滾動(dòng)條垂直滾動(dòng)條SmallChangeMinValueMaxSmallChangeLargeChangeLargeChange(2)主要事件 Scroll:拖動(dòng)滑塊時(shí)會(huì)觸發(fā)Scroll事件。 Change:Value屬性改變時(shí)觸發(fā)Change事件。例7.5用一個(gè)文本框(Text1)顯示水平滾動(dòng)條(HScroll1)中滑塊當(dāng)前位置所代表的值。初始設(shè)置:Min=0Max=100Value=50Smallchange=2Largechange=10滾動(dòng)條HScroll1的Change事件過(guò)程:SubHScroll1_Change()Text1.Text=HScroll1.ValueEndSub
請(qǐng)將上述change事件過(guò)程改為scroll事件過(guò)程,觀察運(yùn)行結(jié)果的變化。例7.6設(shè)計(jì)一個(gè)調(diào)色板程序,用三個(gè)水平滾動(dòng)條改變?nèi)壤铣傻念伾@示在右邊的文本框Text1中(用合成的顏色設(shè)置其BackColor屬性);用同樣的方法設(shè)置文本框Text2的前景和背景色。用滾動(dòng)條的Value值表示各種顏色的比例,合成顏色=Red+Green*256+Blue*256*256對(duì)三個(gè)滾動(dòng)條分別進(jìn)行change或scroll事件編程,確定文本框1的背景色對(duì)兩個(gè)命令按鈕進(jìn)行click事件編程,確定文本框2的前景色和背景色2.滾動(dòng)滑塊Slider滾動(dòng)滑塊是Windows操作系統(tǒng)提供的一種ActiveX控件,位于MicrosoftWindowsCommonControl6.0中。它由刻度和“滑塊”共同構(gòu)成。其中標(biāo)尺由Min和Max屬性定義?!盎瑝K”可由用戶通過(guò)鼠標(biāo)或光標(biāo)移動(dòng)鍵控制。滾動(dòng)滑塊經(jīng)常用來(lái)設(shè)置圖形中某個(gè)點(diǎn)的值,設(shè)定要傳送給數(shù)組的數(shù)的范圍,改變窗體、字段或其它圖形對(duì)象的大小等。運(yùn)行時(shí),可動(dòng)態(tài)設(shè)置Min和Max屬性以反映新的取值范圍。Value屬性返回滑塊的當(dāng)前位置。通過(guò)使用MouseDown和MouseUp等事件,Slider控件可以圖形方式從一定的取值范圍內(nèi)選取一個(gè)值。(1)主要屬性Name—SliderMax,Min,SmallChange,LargeChange,Value屬性與滾動(dòng)條相同TickStyle—設(shè)置標(biāo)尺的位置及滑塊的形狀0123TickFrequency—設(shè)置滑塊的滑動(dòng)頻率,值為n表示每隔n個(gè)單位顯示一個(gè)刻度點(diǎn)??潭葦?shù)目=(Max-Min)/TickFrequency+1TextPosition—設(shè)置鼠標(biāo)操作時(shí),當(dāng)前刻度值的提示位置(2)主要事件與滾動(dòng)條相同,有Scroll和Change事件例7.7通過(guò)移動(dòng)滑塊來(lái)改變文本框中文字的大小。PrivateSubForm_Load()Slider1.Min=8Slider1.Max=72Slider1.SmallChange=2Slider1.LargeChange=8Slider1.TickFrequency=2EndSubPrivateSubSlider1_Scroll()Text1.FontSize=Slider1.ValueEndSub
時(shí)鐘控件以Interval為時(shí)間間隔產(chǎn)生Timer事件??捎肨imer事件來(lái)計(jì)時(shí),或控制某一程序的運(yùn)行。 1.主要屬性 Name—TimerInterval—控制觸發(fā)Timer事件的間隔時(shí)間,單位為毫秒(0.001s),取值范圍為0~65535,即65.535秒。 Interval=0:屏蔽計(jì)時(shí)器,即不觸發(fā)Timer事件。 Enabled(默認(rèn)屬性)—設(shè)置時(shí)鐘是否計(jì)時(shí) True:有效計(jì)時(shí)False:停止時(shí)鐘工作 2.事件 Timer事件每隔Interval時(shí)間被觸發(fā)一次,通過(guò)該事件可以產(chǎn)生系統(tǒng)時(shí)間或控制程序的運(yùn)行時(shí)間。7.5時(shí)鐘(Timer)【例】用時(shí)鐘控件進(jìn)行計(jì)時(shí),在標(biāo)簽中以數(shù)字形式顯示系統(tǒng)時(shí)間,每隔1秒跳字.將系統(tǒng)函數(shù)Time$()得到的系統(tǒng)時(shí)間存入標(biāo)簽的Caption屬性中,并通過(guò)設(shè)置時(shí)鐘的interval=1000使時(shí)鐘每秒產(chǎn)生一個(gè)Timer事件觸發(fā)標(biāo)簽的顯示。設(shè)計(jì)時(shí)窗體上會(huì)出現(xiàn)時(shí)鐘控件,但運(yùn)行時(shí),該控件消失。PrivateSubTimer1_Timer()Label1.Caption=Time$()EndSub數(shù)字時(shí)鐘Dimh%,m%,s%PrivateSubCommand1_Click()Timer1.Enabled=TrueEndSubPrivateSubForm_Load()h=0:m=1:s=0hh=Format$(h,"00")mm=Format$(m,"00")ss=Format$(s,"00")Label1=hh&":"&mm&":"&ssTimer1.Enabled=FalseEndSubPrivateSubTimer1_Timer()Ifm=0Andh>0Thenh=h-1:m=60EndIfIfs=0Andm>0Thenm=m-1:s=60EndIfIfs>0Thens=s-1EndIfhh=Format$(h,"00")mm=Format$(m,"00")ss=Format$(s,"00")Label1=hh&":"&mm&":"&ssIfh=0Andm=0Ands=0ThenMsgBox("時(shí)間到!")EndEndIfEndSub【例】用時(shí)鐘控件進(jìn)行倒計(jì)時(shí),在標(biāo)簽中以數(shù)字形式顯示系統(tǒng)時(shí)間,每隔1秒跳字.演示例7.8設(shè)計(jì)一個(gè)定時(shí)鬧鐘。用戶在兩個(gè)文本框中輸入定時(shí)的小時(shí)和分,然后按“定時(shí)”按鈕啟動(dòng)時(shí)鐘,時(shí)鐘以1秒間隔顯示系統(tǒng)時(shí)間?!巴V埂卑粹o用來(lái)制止鈴響,“結(jié)束”按鈕用來(lái)終止程序運(yùn)行。
PrivateSubTimer1_Timer()Label5.Caption=Time$‘自動(dòng)顯示系統(tǒng)時(shí)間IfMid$(Time$,1,5)=hour+":"+minuteThenFori=1To100Beep‘定時(shí)響鈴NextiEndIfEndSubTime$的表示形式為:hh:mm:ss例7.9用時(shí)鐘控件控制蝴蝶從窗體內(nèi)飛走的動(dòng)畫(huà)。設(shè)計(jì)三個(gè)Image控件,通過(guò)picture屬性在Image2和Image3中各裝入一個(gè)不同形態(tài)蝴蝶飛舞的圖片,運(yùn)行時(shí),在Image1中每隔0.08秒依次裝入兩幅圖片,形成動(dòng)態(tài)效果,并通過(guò)move方法將Image1從左下角移到右上角。PrivateSubTimer1_Timer()StaticpickbmpAsBooleanImage1.MoveImage1.Left+20,Image1.Top-10IfpickbmpThenImage1.Picture=Image2.PictureElseImage1.Picture=Image3.PictureEndIfpickbmp=NotpickbmpEndSub進(jìn)度條控件用來(lái)顯示某種操作的進(jìn)度,它也是一種ActiveX控件,由Windows操作系統(tǒng)提供,位于MicrosoftWindowsCommonControl6.0中。1.主要屬性Max進(jìn)度條的最大值(左邊界值)Min進(jìn)度條的最小值(右邊界值)Value進(jìn)度條當(dāng)前值,該屬性只能在程序中設(shè)置和引用。其中,Min<=Value<=Max,Value/(Max-Min)的百分比數(shù)即為被填充的藍(lán)色方塊數(shù)2.事件Click事件7.6進(jìn)度條(ProgressBar)例7.10設(shè)計(jì)一個(gè)進(jìn)度條,用來(lái)指示一個(gè)大數(shù)組冗長(zhǎng)的操作進(jìn)度,即進(jìn)度條的進(jìn)度表示處理數(shù)組的進(jìn)展情況。假設(shè)數(shù)組有25000個(gè)元素,將ProgressBar1的Min和Max分別設(shè)置為數(shù)組的下界和上界,開(kāi)始時(shí)ProgressBar1的Value值設(shè)置為Min。在循環(huán)中每對(duì)一個(gè)數(shù)組元素進(jìn)行操作,就把數(shù)組元素的下標(biāo)值賦給ProressBar1的Value。隨著Value的增加,藍(lán)色方塊逐步向右延伸用來(lái)制作“數(shù)字增減”按鈕,位于MicrosoftWindowsCommonControl-26.0中。它往往與其他控件“捆綁”在一起使用,方便用戶修改與它關(guān)聯(lián)的伙伴控件。例如,它經(jīng)常與文本框或命令按鈕捆綁使用。當(dāng)單擊向上或向下的箭頭時(shí),文本框或命令按鈕中的值會(huì)相應(yīng)地增加或減少。①在窗體中繪制伙伴控件②在窗體中繪制UpDown控件③用鼠標(biāo)右鍵單擊UpDown控件,并單擊“屬性”彈出“屬性頁(yè)”對(duì)話框④選擇“合作者”選項(xiàng)卡⑤選中“自動(dòng)合作者”復(fù)選框(即將AutoBuddy屬性設(shè)置為T(mén)rue)⑥選中“同步合作者”復(fù)選框(即將SyncBuddy屬性設(shè)置為T(mén)rue)*7.7UpDown控件(1)UpDown控件的屬性頁(yè)有三個(gè)選項(xiàng)卡:“通用”選項(xiàng)卡,指明UpDown控件的位置、方向“合作者”選項(xiàng)卡,指明其伙伴控件的名稱及屬性“滾動(dòng)”選項(xiàng)卡中,指明最大值、最小值及增減量(2)UpDown可通過(guò)UpClick()和DownClick()事件觸發(fā)。例:將UpDown控件與Text1和Label1聯(lián)合使用,分別將Text1.text和Label1.Caption設(shè)為0,UpDown1和UpDown2的Max值設(shè)為20和100,Increment值分別設(shè)為1和10,則不必編程,Text1中的數(shù)字按1進(jìn)行增減,直到20和0為止;Label1中的數(shù)字按10進(jìn)行增減,直到100和0為止。①用“合作者”屬性頁(yè)將Uodown1和Text1合作,將UpDown2與Label1合作②用“滾動(dòng)”屬性頁(yè)設(shè)置UpDown1和UpDown2的Value、Max、Min和Increment屬性值③運(yùn)行時(shí),直接點(diǎn)擊數(shù)字增減按鈕1.Animation控件用來(lái)顯示無(wú)聲的AVI視頻文件或無(wú)聲動(dòng)畫(huà)片,它位于MicrosoftWindowsCommonControl-26.0中。在ProgramFiles\MicrosoftVisualStudio\Common\Graphics\AVIS中可以找到許多無(wú)聲的.avi文件*7.8Animation和MMControl控件(2)方法①Open打開(kāi)文件Animation1.Open文件名②Play播放Animation1.Playn播放n次Animation1.Play循環(huán)播放③Stop停止Animation1.Stop④Close關(guān)閉文件Animation1.Close(1)Animation主要屬性Name:AnimationCenter(居中):為T(mén)rue時(shí),動(dòng)畫(huà)在控件的中央播放AutoPlay(自動(dòng)播放):為T(mén)rue時(shí),用Open打開(kāi)文件時(shí)自動(dòng)播放,否則,必須用Play播放。PrivateSubAnimation1_Click()WithCommonDialog1.Filter="avi(*.avi)|*.avi".ShowOpenEndWithWithAnimation1.Autoplay=True.OpenCommonDialog1.FilenameEndWithEndSub例7.11動(dòng)畫(huà)片播放窗體上設(shè)置四個(gè)命令按鈕,分別表示“打開(kāi)”、“播放”、“停止”和“關(guān)閉”,一個(gè)框架,內(nèi)有一個(gè)復(fù)選框和一個(gè)文本框。要求:“打開(kāi)”—打開(kāi)filecopy.avi文件“播放”—若選定復(fù)選框,則重復(fù)10次播放fiilecopy.avi(次數(shù)保存在文本框Text1中);否則,循環(huán)播放“停止”—停止播放“關(guān)閉”—關(guān)閉動(dòng)畫(huà)窗口PrivateSubCommand2_Click()IfCheck1ThenAnimation1.PlayVal(Text1)ElseAnimation1.PlayEndIfCommand3.Enabled=TrueEndSub
用來(lái)播放Wave、AVI、MIDI、CD等類型的文件,它位于MocrosoftMultimediaControl6.0中。2.MMControl控件前一個(gè)下一個(gè)播放暫停前進(jìn)后退停止錄制彈出(1)主要屬性Name:MMControlAutoEnable:是否自動(dòng)檢測(cè)各按鈕的狀態(tài)DeviceType:設(shè)置多媒體設(shè)備的類型播放AVI文件用MControl1.DeviceType=“AVIVideo”Command:用于向媒體設(shè)備發(fā)出各種命令,共14種命令Back退后一步Close關(guān)閉一個(gè)文件Eject彈出光盤(pán)Next到下一軌道的起始點(diǎn)Open打開(kāi)一個(gè)媒體文件Pause暫停播放Play播放一個(gè)文件Prev回到當(dāng)前軌道的起點(diǎn)Record對(duì)一個(gè)設(shè)備進(jìn)行記錄Save保存打開(kāi)的文件Sound播音Seek尋找位置(位置由To屬性給出)Step前進(jìn)一步Stop停止播放或記錄例如:MMControl1mand=“open”打開(kāi)一個(gè)媒體設(shè)備(2)視頻播放器PrivateSubForm_Load()MMControl1.FileName=“C:\ProgramFiles\MicrosoftVisualStudio\Common\Graphics\videos\blur24.avi”MMControl1.hWndDiplay=Picture1.hWnd‘hWnd為句柄MMControl1.DeviceType=“avivideo"MMControl1.Command="Open"EndSubPrivateSubMMControl1_PlayClick(CancelAsInteger)MMControl1.Notify=TrueEndSubPrivateSubMMControl1_Done(NotifyCodeAsInteger)IfMMControl1.NotifyValue=1ThenMMControl1.To=0MMControl1.Command=“Seek”EndIfEndSub視頻播放器(3)CD播放器(4)同時(shí)播放Wave和MIDI的播放器用來(lái)制作包括多個(gè)選項(xiàng)卡(標(biāo)簽)的對(duì)話框,它位于MicrosoftTabbedDialogControl6.0中(1)SSTab控件的屬性頁(yè)
Style決定SSTab控件上選項(xiàng)卡的樣式Tabs決定選項(xiàng)卡的數(shù)量TabsPerRow決定SSTab控件上每一行選項(xiàng)卡的數(shù)量Rows決定SSTab上選項(xiàng)卡的行數(shù)(2)SSTab控件的主要屬性*7.9SSTab控件例7.12設(shè)計(jì)一個(gè)具有兩個(gè)選項(xiàng)卡(標(biāo)簽)的對(duì)話框制作步驟:(1)將SSTab控件添加到工具箱中,并在窗體上創(chuàng)建一個(gè)SSTab控件(2)通過(guò)SSTab的屬性頁(yè)設(shè)置其屬性(包括選項(xiàng)卡數(shù)Tabs=2及其標(biāo)題)(3)在每個(gè)選項(xiàng)卡中添加一個(gè)Text控件,其中存放一段文字(可用Form_load()編程將某段文字賦給Text1.Text,另一段文字賦給Text2.Text)7.10鼠標(biāo)器和鍵盤(pán)鼠標(biāo)和鍵盤(pán)是主要的輸入設(shè)備,對(duì)鼠標(biāo)和鍵盤(pán)事件進(jìn)行編程是VB程序設(shè)計(jì)的基本技術(shù)。鼠標(biāo)事件和鍵盤(pán)事件用來(lái)監(jiān)視用戶是否對(duì)鼠標(biāo)或鍵盤(pán)進(jìn)行了操作。鼠標(biāo)事件:檢測(cè)鼠標(biāo)指針的位置,判斷按了哪個(gè)鼠標(biāo)按鈕,識(shí)別鼠標(biāo)按鈕是否與Shift、Ctrl或Alt鍵同時(shí)按下等。窗體和大部分控件都能響應(yīng)鼠標(biāo)事件。鍵盤(pán)事件:檢測(cè)是否按了某個(gè)鍵,是上檔鍵還是下檔鍵;測(cè)試鍵盤(pán)上的某個(gè)鍵是按下還是釋放;識(shí)別按鍵的掃描碼和ASCII碼;設(shè)置功能鍵等。窗體、復(fù)選框、命令按鈕、文本框等都能響應(yīng)鍵盤(pán)事件。7.10.1鼠標(biāo)事件可供窗體或其他控件對(duì)象識(shí)別鼠標(biāo)的位置或動(dòng)作的事件1.Click事件(1)當(dāng)在一個(gè)對(duì)象上按下然后釋放一個(gè)鼠標(biāo)按鈕時(shí),或者某些控件的值發(fā)生改變時(shí),將觸發(fā)Click事件。(2)單擊一個(gè)控件除了產(chǎn)生Click事件以外還可產(chǎn)生MouseDown和MouseUp事件。這三種事件發(fā)生的順序根據(jù)控件的不同而不同。對(duì)ListBox和CommandButton控件來(lái)說(shuō),這些事件按下列順序發(fā)生:MouseDown、Click、MouseUp。對(duì)FileListBox,Label或PictureBox控件來(lái)說(shuō),這些事件按下列順序發(fā)生:MouseDown、MouseUp和Click。(3)Click事件不區(qū)分按了鼠標(biāo)的哪個(gè)鍵,當(dāng)要區(qū)別鼠標(biāo)的左、右、中按鈕時(shí),應(yīng)使用MouseDown和MouseUp事件2.DblClick事件雙擊鼠標(biāo)左鍵時(shí)發(fā)生3.MouseDown事件SubObject_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)4.MouseUp事件SubObject_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)5.MouseMove事件SubObject_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Button=1或ButtonAnd1≠0左鍵Button=2或ButtonAnd2≠0右鍵Button=4或ButtonAnd4≠0中鍵Shift=1或ShiftAnd1≠0Shift鍵Shift=2或ShiftAnd2≠0Ctrl鍵Shift=4或ShiftAnd4≠0Alt鍵例7.13用MouseMove事件檢測(cè)鼠標(biāo)在窗體上的位置。在窗體上設(shè)置兩個(gè)文本框,一個(gè)顯示鼠標(biāo)位置的x值,另一個(gè)顯示y值,使用MouseMove事件編程:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)Text1.Text=xText2.Text=yEndSub程序運(yùn)行時(shí),隨著鼠標(biāo)在窗體上移動(dòng),顯示不同的坐標(biāo)值。例7.14聯(lián)合使用MouseMove、MouseDown和MouseUp事件設(shè)計(jì)一個(gè)簡(jiǎn)單的畫(huà)圖程序(按右鍵畫(huà)圓,按住左鍵并移動(dòng)畫(huà)線)。MouseDown事件判定是按了左鍵還是右鍵:若是左鍵,則保存線條的起點(diǎn)坐標(biāo);若是右鍵,則畫(huà)一個(gè)直徑為280的圓;MouseMove事件用來(lái)畫(huà)線(從起點(diǎn)到終點(diǎn))MouseUp事件表示釋放鼠標(biāo),從而解除畫(huà)圖狀態(tài)窗體屬性:MousePoint:鼠標(biāo)指針形狀取值0~15,99(用戶定義)MouseIcon:自定義鼠標(biāo)圖標(biāo)(當(dāng)MousePointer為99時(shí),由窗體的MouseIcon屬性設(shè)置鼠標(biāo)光標(biāo)的形狀)7.10.2鍵盤(pán)事件
可供文本框等控件接受鍵盤(pán)的輸入或動(dòng)作1.三個(gè)鍵盤(pán)事件(1)KeyPress事件(當(dāng)按下并釋放一個(gè)鍵時(shí)被觸發(fā),返回按鍵的ASCII代碼,不包括編輯鍵和F功能鍵)SubObject_KeyPress(keyasciiAsInteger)Subobject_KeyPress([indexAsInteger,]keyasciiAsInteger)(2)KeyDown事件(按任一鍵時(shí)被觸發(fā),返回該鍵的掃描碼)SubForm_KeyDown(keycodeAsInteger,shiftAsInteger)Subobject_KeyDown([indexAsInteger,]keycodeAsInteger,shiftAsInteger)(3)KeyUp事件(釋放任一鍵時(shí)被觸發(fā),返回該鍵的掃描碼)
SubForm_KeyUp(keycodeAsInteger,shiftAsInteger)Subobject_KeyUp([indexAsInteger,]keycodeAsInteger,shiftAsInteger)KeyAscii:按鍵的ASCII碼Keycode:按鍵的掃描碼Shift:與鼠標(biāo)器的Shift相同PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)ShiftKey=ShiftAnd7‘表示取后三位SelectCaseShiftKeyCase1'或vbShiftMaskPrint"YoupressedtheSHIFTkey."Case2'或vbCtrlMaskPrint"YoupressedtheCTRLkey."Case4'或vbAltMaskPrint"YoupressedtheALTkey."Case3Print"YoupressedbothSHIFTandCTRL."Case5Print"YoupressedbothSHIFTandALT."Case6Print"YoupressedbothCTRLandALT."Case7Print"YoupressedSHIFT,CTRL,andALT."EndSelectEndSubKeyPressKeyDownKeyUp事件發(fā)生的時(shí)間輸入一個(gè)ASCII字符按下任意一個(gè)鍵釋放按鍵參數(shù)值KeyAscii接收到按鍵的ASCII值KeyCode接收到按鍵的掃描碼KeyCode接收到按鍵的掃描碼按Shift+A時(shí)事件發(fā)生的次數(shù)事件發(fā)生一次事件發(fā)生兩次事件發(fā)生兩次按Shift+A時(shí)參數(shù)值(鍵盤(pán)處于大寫(xiě)狀態(tài))97(a)第一次是16(Shift)第二次是65(A)第一次是65(A)第二次是16(Shift)按Shift+A時(shí)參數(shù)值(鍵盤(pán)處于小寫(xiě)狀態(tài))65(A)第一次是16(Shift)第二次是65(A)第一次是65(A)第二次是16(Shift)2.KeyPress事件與KeyDown及KeyUp事件的區(qū)別按大鍵盤(pán)“1”494949按小鍵盤(pán)“1”4997973.當(dāng)窗體和其他控件都使用了KeyPress事件時(shí),例如:SubForm_KeyPress(KeyAsciiAsInteger)KeyAscii=KeyAscii+2EndSub SubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=KeyAscii+2EndSub應(yīng)先設(shè)置窗體的KeyPreview屬性若KeyPreview=True窗體先接收鍵盤(pán)事件,然后其他活動(dòng)控件才能接收鍵盤(pán)事件若KeyPreview=False其他活動(dòng)控件先接收鍵盤(pán)事件,然后窗體才能接收鍵盤(pán)事件當(dāng)KeyPreview=True,從鍵盤(pán)輸入字母“a”時(shí),Text1接收到字母“e”;當(dāng)KeyPreview=False,從鍵盤(pán)輸入字母“a”時(shí),Text1接收到字母“c”。4.KryPress事件的應(yīng)用①限制數(shù)據(jù)輸入SubText1_KeyPress(KeyAsciiAsInteger) IfKeyAscii<48OrKeyAscii>57Then KeyAscii=0EndIfEndSub‘文本框只能接收“0”~“9”的數(shù)字字符,其他字符均不予顯示②修改輸入的數(shù)據(jù)PrivateSubText1_KeyPress(KeyAsciiAsInteger)Text2=Text2+Chr(KeyAscii)KeyAscii=0:Text1=Text1+"*"EndSub‘文本框1中顯示“*”,文本框2中顯示原字符5.KeyDown和KeyUp的應(yīng)用用下面的程序段以十六進(jìn)制形式顯示鍵盤(pán)上各個(gè)鍵的keycode碼。
SubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger) PrintChr(KeyCode);"--";Hex(KeyCode)EndSub運(yùn)行時(shí),按下H鍵(不管大小寫(xiě)),窗體上顯示“H--48”。例7.15將功能鍵Alt+F5設(shè)置為結(jié)束程序運(yùn)行。功能鍵F5的掃描碼為vbkeyF5(符號(hào)常數(shù))先將KeyPreview屬性設(shè)置True,然后編制下列程序:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyF5And(ShiftAnd4)ThenEndEndIfEndSub例7.16“錘打紅心”游戲①用上、下、左、右四個(gè)箭頭鍵控制“鐵錘” “”:37(&H25) “”:38(&H26) “”:39(&H27) “”:40(&H28)②如果Abs(Image1.Left-Image2.left<300)AndAbs(Image1.Top-Image2.Top<300)成立,則認(rèn)為是重疊,“鐵錘”錘打到“紅心”③用時(shí)鐘控件(Timer1)的Timer事件控制圖像框“紅心”的移動(dòng)。Timer1的Interval屬性為200,即每1秒產(chǎn)生5個(gè)Timer事件7.10.3拖放“拖放”指的是用鼠標(biāo)把一個(gè)對(duì)象拖到另一個(gè)對(duì)象上,或拖到同一對(duì)象的另一個(gè)位置上。1.拖放過(guò)程將鼠標(biāo)指針移到源對(duì)象上----按下鼠標(biāo)左鍵,并拖動(dòng)鼠標(biāo)到另一位置或目標(biāo)對(duì)象上----放開(kāi)鼠標(biāo),源對(duì)象就被移動(dòng)到了松開(kāi)鼠標(biāo)時(shí)鼠標(biāo)指針?biāo)诘奈恢?.兩種拖放方式為使源對(duì)象能被拖放,須在源對(duì)象的MouseDown事件過(guò)程中設(shè)置源對(duì)象的DragMode屬性:DragMode=0手工拖放方式
DragMode=1自動(dòng)拖放方式手工方式比自動(dòng)方式可以提供更多控制。例如,手工方式允許指定對(duì)象可拖動(dòng)的時(shí)間及不可拖動(dòng)的時(shí)間,還可在開(kāi)始拖動(dòng)前識(shí)別MouseDown事件,從而記錄鼠標(biāo)的位置;而在自動(dòng)方式下,總能拖動(dòng)對(duì)象(1)自動(dòng)拖放:只要將鼠標(biāo)置于需要拖動(dòng)的對(duì)象上,按住左鍵不放,然后拖動(dòng)鼠標(biāo)即可,但只有在OLE容器控件沒(méi)有焦點(diǎn)時(shí),它才能自動(dòng)地被拖動(dòng)(2)手工拖放:將源對(duì)象的DragMode屬性設(shè)置為0,在按住鼠標(biāo)時(shí)必須在MouseDown事件中用Drag方法啟動(dòng)“拖”操作3.拖放的實(shí)現(xiàn)拖放演示窗體上有圖形框picture1,裝有某個(gè)圖形,它能作為源對(duì)象被拖放到該窗體的某個(gè)地方。如果圖形框被拖動(dòng)到“取消拖放”標(biāo)簽(label1)上方,則取消拖放操作。(1)手工拖放的實(shí)現(xiàn)步驟①將源對(duì)象的DragMode屬性設(shè)置為0(缺省值),可以在設(shè)計(jì)狀態(tài)的屬性窗口中設(shè)置,也可以在源對(duì)象的MouseDown事件中用賦值語(yǔ)句設(shè)置②在源對(duì)象的MouseDown事件中用Drag方法啟動(dòng)拖操作
SubPicture1_MouseDown(Button%,Shif%,X!,Y!)Picture1.Drag1EndSub‘啟動(dòng)拖操作③由于源對(duì)象在窗體內(nèi)移動(dòng),故目標(biāo)對(duì)象是窗體,在窗體的DragDrop事件中用Move方法編制代碼實(shí)現(xiàn)源對(duì)象的移動(dòng)
SubForm_DragDrop(SourceAsControl,X!,Y!)Source.Move(X-Source.Width/2),(Y-Source.Height/2)EndSub
源圖形框被拖動(dòng)到窗體的指定位置,且中央落在鼠標(biāo)指針位置上④根據(jù)題目要求,當(dāng)源對(duì)象拖放到標(biāo)簽Label1時(shí),在Label1的DragOver事件中用Drag方法編碼,取消拖放操作SubLabel1_DragOver(SourceAsControl,X!,Y!,State%)Source.Drag0‘取消拖放操作
EndSub(2)自動(dòng)拖放的實(shí)現(xiàn)步驟自動(dòng)拖放可省去人工拖放中的第②步。無(wú)論是自動(dòng)或人工拖放,當(dāng)鼠標(biāo)拖動(dòng)到某一地方釋放時(shí),都要在DragDrop事件中用Move方法實(shí)現(xiàn)移動(dòng);取消拖放時(shí),要對(duì)DragOver事件用Drag方法取消拖動(dòng)操作。4.拖放的屬性設(shè)置及方法(1)源對(duì)象的屬性設(shè)置 DragIcon屬性:拖動(dòng)過(guò)程中顯示的圖標(biāo)(Ico或Cur文件)。
lblExample1.DragIcon=LoadPicture("C:\Icons\Mail.ico") lblExample2.DragIcon=picIcon.Picture(2)Drag拖放方法:?jiǎn)?dòng)或停止手工拖動(dòng) 當(dāng)DragMode為0時(shí),需在源對(duì)象上用 [Object.]Drag參數(shù)來(lái)啟動(dòng)或取消或結(jié)束拖動(dòng)操作0:取消拖動(dòng)操作1(缺省):開(kāi)始拖動(dòng)操作2:結(jié)束拖動(dòng)操作DragMode屬性和Drag方法用來(lái)指定開(kāi)始拖動(dòng)的方法5.DragDrop和DragOver事件(1)DragOver事件在拖放操作正在進(jìn)行時(shí)引發(fā)。Object_DragOver(sourceAsControl,xAsSingle,yAsSingle,stateAsInteger)
source:正在被拖動(dòng)的控件x,y:當(dāng)前鼠標(biāo)指針在目標(biāo)窗體或控件中的位置state:正被拖動(dòng)的源對(duì)象的轉(zhuǎn)變狀態(tài)0=進(jìn)入(源控件正被向一個(gè)目標(biāo)范圍內(nèi)拖動(dòng))1=離去(源控件正被向一個(gè)目標(biāo)范圍外拖動(dòng))此事件可對(duì)鼠標(biāo)指針在一個(gè)有效目標(biāo)上的進(jìn)入、離開(kāi)或停頓等進(jìn)行監(jiān)控。鼠標(biāo)指針的位置決定接收此事件的目標(biāo)對(duì)象,通常在開(kāi)始拖動(dòng)時(shí),用DragOver事件過(guò)程來(lái)處理位于DragDrop事件前面的事件(2)DragDrop事件:當(dāng)源對(duì)象在拖動(dòng)過(guò)程中鼠標(biāo)被釋放時(shí),或使用Drag方法,且Drag參數(shù)值為2時(shí)被引發(fā)。Objiect_DragDrop(sourceAsControl,xAsSingle,yAsSingle)DragDrop事件過(guò)程用來(lái)控制在一個(gè)拖動(dòng)操作完成時(shí)將會(huì)發(fā)生的情況。例如,可將源控件移到一個(gè)新的位置或?qū)⒁粋€(gè)文件從一個(gè)位置復(fù)制到另一個(gè)位置。當(dāng)source參數(shù)中可能使用多個(gè)控件時(shí):應(yīng)使用TypeOf
關(guān)鍵字和If語(yǔ)句一起確定與source表示的控件的類型應(yīng)使用該控件的Tag屬性來(lái)標(biāo)識(shí)一個(gè)控件,然后使用DragDrop
事件過(guò)程例7.18窗體上有一個(gè)圖像框、一個(gè)標(biāo)簽和一個(gè)圖形框。用手工方式將圖像框Image1拖動(dòng)到圖形框Picture1中,且圖像框小時(shí),其中的圖片則保留在圖形框中;用自動(dòng)方式將標(biāo)簽Label1拖動(dòng)到圖形框Picture1中,并彈出“Error”的信息框。在拖動(dòng)Image1時(shí),其中的圖片作為拖動(dòng)圖標(biāo)使用。①將Image1和Label1的DragMode屬性分別設(shè)置為0和1②在Image1_MouseDown事件中,用Drag方法啟動(dòng)拖動(dòng)操作,并將其中的圖片作為拖動(dòng)圖標(biāo)DragIcon③在Picture1_DragDrop事件中,若源控件的類型為Image,則將Image1中的圖片裝入Picture1的Picture屬性中,并使Image1不可見(jiàn);否則,用MsgBox()顯示“ERROR”7.10.4OLE拖放
可以將數(shù)據(jù)從一個(gè)控件或應(yīng)用程序中移動(dòng)到另一個(gè)控件或應(yīng)用程序中。
1.OLE拖放的兩種方式
OLEDragMode(源控件設(shè)置) 0----Manual:缺省,手工1----Automatic:自動(dòng)OLEDropMode屬性(目標(biāo)控件設(shè)置)0----None:缺省,目標(biāo)控件不接受“放”1----Manual:手工實(shí)現(xiàn)“放”操作2----Automatic:自動(dòng)實(shí)現(xiàn)“放”完全支持自動(dòng)OLE拖放:圖形框、圖像框和文本框支持自動(dòng)“拖”操作,不支持自動(dòng)“放”:組合框、列表框、文件列表框和目錄列表框沒(méi)有OLEDragMode,有OLEDropMode但不能設(shè)置為2:復(fù)選框、框架、單選按鈕、命令按鈕、標(biāo)簽、驅(qū)動(dòng)器列表框和數(shù)據(jù)控件(Data)當(dāng)執(zhí)行OLE拖放操作時(shí),在源端和目標(biāo)端會(huì)產(chǎn)生某些事件。無(wú)論拖放操作是自動(dòng)操作還是手工操作,都總要生成與源對(duì)象關(guān)聯(lián)的事件。但是,只在手工拖放操作時(shí)才生成目標(biāo)端事件。2.OLE拖放的實(shí)現(xiàn)(1)完全自動(dòng)拖放不需編程,若作為源對(duì)象,設(shè)置其OLEDragMode=1,若作為目標(biāo)對(duì)象,設(shè)置其OLEDropMode=2(2)自動(dòng)拖、手工放作為源對(duì)象,設(shè)置其OLEDragMode=1,不必編程;若作為目標(biāo)對(duì)象,設(shè)置其OLEDropMode=1,并在其OLEDragDrop事件或OLEDragOver事件中編程O(píng)LEDragMode設(shè)為1(Automatic)OLEDropMode設(shè)為1(Manual)SubList2_OLEDragDrop(…)List2.AddItemData.GetData(vbCFText)EndSubSubLabel1_OLEDragDrop(…)Label1.Caption=Data.Files(1)EndSub例7.19手工方式實(shí)現(xiàn)從列表框到文本框OLE拖放,要求刪除源數(shù)。①啟動(dòng)源對(duì)象的OLE拖動(dòng)操作SubLabel1_MouseDown(…) '啟動(dòng)OLE拖動(dòng)操作,產(chǎn)生OLEStartDrag事件 Label1.OLEDragEndSub②源對(duì)象的實(shí)際拖動(dòng)操作SubLabel1_OLEStartDrag(DataAsDataObject,AllowedEffectsAsLong) '將數(shù)據(jù)放到DataObject對(duì)象,并且指定數(shù)據(jù)格式 Data.SetDataLabel1.Caption,vbCFText '指定允許拖放效果 AllowedEffects=vbDropEffectMove EndSub③目標(biāo)對(duì)象的放操作SubText1_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle) ‘查詢DataObject中數(shù)據(jù)格式IfData.GetFormat(vbCFText)Then ‘從DataObject獲取數(shù)據(jù)Text1.Text=Data.GetData(vbCFText) EndIf Effect=vbDropEffectMoveEndSub④刪除源對(duì)象中的數(shù)據(jù)SubLabel1_OLECompleteDrag(EffectAsLong) IfEffect=vbDropEffectMoveThen Label1.Caption=“” '刪除原數(shù)據(jù) EndIfEndSub例7.20將“Windows資源管理器”中選定的一組文本文件,拖放到一個(gè)文本框中。
PrivateSubLabel1_OLEDragDrop(DataAsDataObject,EffectAsLong,ButtonAsIntege
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電子煙具噴漆定制合同
- 2025年度苗木種植基地綠色認(rèn)證合作合同4篇
- 2025年版城市綠地門(mén)衛(wèi)及環(huán)境安全維護(hù)合同4篇
- 2025年個(gè)人住宅防水工程驗(yàn)收合同范本2篇
- 二零二五年度棉被產(chǎn)品展示與體驗(yàn)店合作經(jīng)營(yíng)合同4篇
- 2025年度個(gè)人二手房買(mǎi)賣(mài)合同售后服務(wù)與糾紛調(diào)解協(xié)議
- 2025年度個(gè)人旅游保險(xiǎn)合同范本6篇
- 2025年度民間汽車質(zhì)押借款電子支付合同范本3篇
- 2025年度豪華品牌個(gè)人二手車買(mǎi)賣(mài)合同范本2篇
- 2025年度擬上公司與會(huì)計(jì)事務(wù)所財(cái)務(wù)信息處理保密合同4篇
- 危險(xiǎn)品倉(cāng)儲(chǔ)危險(xiǎn)廢物處置與管理考核試卷
- 2024版汽車融資擔(dān)保合同范本版B版
- 浙江寧波鎮(zhèn)海區(qū)2025屆中考生物對(duì)點(diǎn)突破模擬試卷含解析
- 工業(yè)自動(dòng)化設(shè)備維護(hù)保養(yǎng)方案
- 《中醫(yī)心理學(xué)》課件
- 心肌梗死病人護(hù)理課件
- 宮頸癌中醫(yī)護(hù)理查房
- 2023年安徽省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 《阻燃材料與技術(shù)》課件 顏龍 第3、4講 阻燃基本理論、阻燃劑性能與應(yīng)用
- 輪狀病毒護(hù)理課件
- 地測(cè)防治水技能競(jìng)賽理論考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論