




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
12章鍵盤與鼠標(biāo)大事過程VisualBasic應(yīng)用程序能夠響應(yīng)多種鍵盤大事和鼠標(biāo)大事。例如,窗體、圖片框與圖像控件都能檢測鼠標(biāo)指針的位置,并可判定其左、右鍵是否已經(jīng)按下,還能響應(yīng)鼠標(biāo)按鈕與Shift、CtrlAlt鍵的各種組合。利用鍵盤大事可以編程響應(yīng)多種鍵盤操作,也可以解釋、ASCII字符。VisualBasicOLE的拖放功能,可用控件的Drag方法連同某些屬性和大事宋實(shí)現(xiàn)控件的拖放操作。OLE的拖放使應(yīng)用程序的數(shù)據(jù)交換功能大大增加。術(shù)。鍵盤大事發(fā)大事,而且還供給進(jìn)展數(shù)據(jù)輸入的手段以及在窗口和菜單中移動的根本形式。鍵盤大事有三種,即KeyPress、KeyUp和KeyDown大事。窗體和可承受鍵盤輸入的控件(如文本框TextBox、命令按鈕CommandButton、圖片框PictureBox、組合框ComboBox等)都可識別這些大事。值得留意的是,只有獲得焦點(diǎn)的對象才能夠承受鍵盤大事。對于窗體,只有成為活動窗體并且窗體中的任何控件均未獲得焦點(diǎn)時,才會產(chǎn)生窗體的鍵盤大事。窗體中任何控件已經(jīng)獲得焦點(diǎn)時,會產(chǎn)生控件的鍵盤大事。KeyPress大事當(dāng)用戶按下鍵盤上的某個鍵時,將觸發(fā)KeyPress大事。該大事可以用于窗體和大局部標(biāo)準(zhǔn)控件,嚴(yán)格來說,當(dāng)按下某個鍵時,所觸發(fā)的是具有輸入焦點(diǎn)(FOCUS)的那個控件的KeyPress大事。在某一時刻,輸入焦點(diǎn)只能位于某一個控件上,假設(shè)窗體上沒有可見或有效的控件,則輸入焦點(diǎn)位于窗體上。當(dāng)一個控件或窗體擁有輸入焦點(diǎn)時,該控件或窗體將承受從鍵盤上輸入的信息。例如,假定一個文本框擁有輸入焦點(diǎn),則從鍵盤上輸入的任何字符都將在該文本框上回顯。KeyPress大事過程的一般格式是:PrivateSubKeyPress(KeyAsciiasInteger)大事過程EndSub假設(shè)承受KeyPress大事的對象為控件數(shù)組,對應(yīng)的大事過程的格式為:PrivateSub對象名_KeyPress(IndexasInteger,KeyAsciiASInteger)大事過程EndSubIndex說明:“對象名”是承受鍵盤大事的對象的名稱,如文本框、窗體等。KeyAsciiKeyPress大事過程的參數(shù),返回用戶所按鍵的ASCII值。如按下小寫字母“a97,按下大寫字母“A65ASCII值比大寫字母32。0~9ASCII48~57KeyPressKeyAscii0,可以取消該字符和這次按鍵操作。留意:在默認(rèn)狀態(tài)下控件的鍵盤大事優(yōu)于窗體的鍵盤大事,岡此在發(fā)生鍵盤大事時,總是先激活控件的鍵盤大事。假設(shè)期望窗體先承受鍵盤大事,則必需把窗體的KeyPreviev屬性設(shè)置為TrueKeyPress[12-1]將輸入到文本框中的全部字符都強(qiáng)制轉(zhuǎn)換為大寫字符。KeyPress大事將輸入的每一個字符轉(zhuǎn)換為大寫。程序代碼:PrivateSubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=Asc(UCase(Chr(KeyAscii)))EndSubKeyAsciiASCIIChrASCI:碼轉(zhuǎn)換成對應(yīng)的字符,UCase函數(shù)將字符轉(zhuǎn)換為大寫,AscASCII碼。[12-2]限制在文本框中輸入的字符為數(shù)值。KeyPress大事將輸入的每一個字符進(jìn)展推斷,當(dāng)用戶按下的不是04之間的鍵時,使用KeyPress大事給用戶進(jìn)展提示,并使輸入的值不在文本框中顯示出來。PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii<48orKeyAscii>57Then”0~9MsgBox“數(shù)字非法!只能輸入數(shù)字字符。“KeyAscii=0”撤銷該字符,也不顯示EndIfEndSubKeyDownKeyUp大事KeyDown大事在按下鍵盤時觸發(fā),KeyUp大事則在釋放鍵盤時觸發(fā)。KeyDown大事和KeyUp大事供給了最低級的鍵盤響應(yīng),可以報告鍵盤的物理狀態(tài)。按下某個鍵時也會觸發(fā)KeyPressKeyDown大事不同的是,KeyDownKeyUp大事返回的是鍵盤KeyPess返回的是“字符”的ASCII碼。例如,AASCII碼,在輸入小寫“a”時,KeyDown大事獲得與“AASCII碼,即KeyDown大事不區(qū)分大小寫,而KeyPressASCII字符處理。KeyDown大事過程的—般格式是:PrivateSub對象名_KeyDown(KeyCodeAsInteger,ShiftAsInteger)大事過程EndSubKeyUp大事過程的一般格式是:PrivateSubKeyUp(KeyCodeAsInteger,ShiftAsInteger)大事過程EndSub說明:“對象名”是窗體和能承受鍵盤大事的控件的名稱。KeyCodeASCII值。Shift是描述Shift、CtrlAlt鍵的狀態(tài)的一個整數(shù),Shift參數(shù)是一個位域,由3個二進(jìn)制位組成,最低位(0)Shift鍵的狀態(tài),中間位1)Ctrl鍵的狀態(tài),最高位(2)表示AltVisualBasicvbShiftMaskvbCtrlMask、vbAltMask12-1列出了Shift參數(shù)的取值。12-1Shift參數(shù)的取值及含義十進(jìn)制數(shù)二進(jìn)制數(shù)十進(jìn)制數(shù)二進(jìn)制數(shù)VB000031001vbShinMaskShift2010vbCtrlMaskCtrl3011vbShinMask+vbCtrlMaskShiftCtrl4100vbAltMaskAlt5101vbShinMask+vbAltMaskShiftAlt6110vbCtrlMask+vbAltMaskCtrlAlt7111vbShinMask+vbCtrlMask+vbAltMask3[12-3]推斷是否按下了某個鍵。以下程序代碼可推斷是否按下了“A”鍵:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyAThenMsgBox“YouPressedtheAkey“EndSub請讀者用KeyPress大事過程實(shí)現(xiàn)類似功能,考慮一下有什么不同。[12-4]上檔符號鍵的監(jiān)測。問題分析:要監(jiān)測是否按下了鍵盤上的上檔符號鍵,只使用KeyCode是不夠的,需要Shift參數(shù)。下面的程序可推斷是否按下了“*”鍵:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKey8AndShift=1ThenMsgBox“您按下了*鍵“EndIfEndSubANDShift的值確定是否按下了某個特別鍵。[12-5]推斷是否按下了AltAlt+F6時關(guān)閉窗體。Alt+F6組合鍵:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=vbKeyF6AndShift=4ThenUnloadMeEndIfEndSubKeyPressKeyDown/KeyUp大事的區(qū)分:KeyPress大事返回的是字符的ASCIIKeyDown/KeyUp返回的是鍵的代碼。例如,按“A”和“a”返回的是同一個KeyCode值,由于它們是同一個鍵:而對KeyPress來說,按“A”和“aASCII碼是不一樣的。在KeyDown/KeyUp大事中,為推斷Shift參數(shù)。KeyPress大事識別的擊鍵范圍比KeyDown/KeyUpFll-F12KeyPressKeyDown/KeyUp大事。鼠標(biāo)大事在Windows應(yīng)用程序中,與鼠標(biāo)操作相關(guān)的大事較多,除了常用的單擊大事Click、雙擊大事DblClick外,有些程序還需要對鼠標(biāo)指針的位置和狀態(tài)變化作出響應(yīng),因此需要使MouseDown、MouseUpMouseMove。鼠標(biāo)大事鼠標(biāo)大事是由鼠標(biāo)動作而引起的。三個根本的鼠標(biāo)大事是:MouseDown大事:按下鼠標(biāo)按鈕時觸發(fā)。MouseUp大事:釋放鼠標(biāo)時觸發(fā)。MouseMove大事:移動鼠標(biāo)光標(biāo)時觸發(fā)。鼠標(biāo)大事過程的一般格式是:PrivateSub對象名—大事名(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)說明:“對象名”可以是窗體及能承受鼠標(biāo)大事的大多數(shù)控件。當(dāng)鼠標(biāo)指針位于窗體上時,窗體將識別鼠標(biāo)大事;當(dāng)鼠標(biāo)指針在控件上時,控件將識別鼠標(biāo)大事。假設(shè)按下鼠標(biāo)按鈕個放,則即使指針已移離對象,對象仍將連續(xù)識別全部鼠標(biāo)大事,直到用戶釋放按鈕為止。MouseDown、MouseUpMouseMove。Button33個按鈕的狀態(tài):假設(shè)某個按鈕按下,其對應(yīng)的二進(jìn)制位就被設(shè)置為10。將三位二進(jìn)Button的值。Button參數(shù)最低位(0)對應(yīng)左按鈕,中間位(位1)對應(yīng)右按鈕,最高位(2)12-2給出了Button參數(shù)的取值及對應(yīng)的含義。12-2MouseMoveButton參數(shù)的取值及含義十進(jìn)制數(shù)二進(jìn)制數(shù)常數(shù)意義00003個鍵都沒有按下1001vbLeftButton按下左按鈕2010vbRi~htButton按下右按鈕301lvbLeftButton+vbRightButton同時按下左、右按鈕4100vbMiddleButton按下中間按鈕5101vbLeftButton+vbMiddleButton同時按下左、中間按鈕6110vbRightButton+vbMiddleButton同時按下右、中間按鈕7111vbLeftButton+vbRightButton+vbMiddleButton3個按鈕同時按下Shift參數(shù)用來監(jiān)測鍵盤上ShiftCtrlAltShift參數(shù)一樣。(5)X、Y參數(shù)表示鼠標(biāo)指針的坐標(biāo)位置,X、Y的值與當(dāng)前對象的坐標(biāo)系有關(guān)。1.MouseDownMouseUp大事MouseDownMouseUP在窗體上的位置,或?qū)崿F(xiàn)某些圖形效果。MouseDown大事與Move方法結(jié)合起來使用,就可以將命令按鈕移動到窗體的不同位置。鼠標(biāo)指針的位置打算按鈕的位置:在單擊窗體的任意位置時,控件將移動到光標(biāo)位Form_MouseDown將執(zhí)行此操作:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Command1.MoveX,YEndSub[12-6]在窗體中畫線。MouseDownMouseUp大事,然后在鼠標(biāo)按鈕被釋放的位置消滅另一個端點(diǎn)。Line方法即可畫線。程序代碼為:DimX1,Y1PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)X1=X:Y1=YEndSubPrivateSubFormMouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Line(X1,Y1)-(X,Y)EndSubMouseDownX1Y1MouseUp大事發(fā)生時,則以X1,Y1為起點(diǎn)坐標(biāo),當(dāng)前鼠標(biāo)指針位置X,Y為終點(diǎn),繪制一條直線,如圖12-1所示。12-1結(jié)合MouseUpMouseDown大事畫直線[12-7]在窗體上建一個名稱為List1的列表框和一個名稱為Text112-2所示。編寫窗體的MouseDown大事過程,程序運(yùn)行后,假設(shè)用鼠標(biāo)左鍵單擊窗體,則從鍵盤中輸入要添加到列表框中的工程(3項):假設(shè)剛鼠標(biāo)右鍵單擊窗體,則11-3所示。12-2程序界面設(shè)計12-3程序運(yùn)行結(jié)果程序代碼如下:PrivateSubFormMouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YASSingle)IfButton=1ThenText1.Text=InputBox(“請輸入要添加的工程“)List1.AddltemText1.TextEndIfIfButton=2ThenText1.Text=InputBox(“請輸入要刪除的工程“)ForI=0ToList1.ListCount-1List1.List(1)=Text1.TextThenList1.RemoveltemIEndIfNextIEndIfEndSub2.MouseMove大事MouseMove大事,窗體和控件均能識別該大事。當(dāng)移動鼠標(biāo)時,MouseMove大事不斷發(fā)生,但并不是對鼠標(biāo)經(jīng)過的每個像素都會觸發(fā)。Form_MouseMoveCircle方法:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XASSingle,YAsSingle)Circle(X,Y),50EndSub12-4MouseMove大事越少。眾多圓圈擠在一起,說明鼠標(biāo)在此位置移動緩慢。12-4MouseMove大事留意:MouseMove大事,因此MouseMove大事不應(yīng)去做需要大量時間的工作。ButtonMouseMoveMouseDown、MouseUp大事不同,MouseMoveButtonMouseDownMouseUpButton值無法檢測是否同時按下兩個以上的按鍵。[12—8]制作一個簡潔的畫圖程序,使其具有繪畫、擦除功能。問題分析:在窗體中添加一個圖片框Picture1,兩個按鈕(數(shù)組形式)12-5所示。Picture1中按下鼠標(biāo)左鍵后拖動就可以隨便地畫線或?qū)懽郑尫攀髽?biāo)后就停頓畫線。單擊擦除按鈕可通過畫一個白色的圓點(diǎn)將圖像擦除。12-5畫圖程序代碼如下:OptionExplicitDimMouseStateAsIntegerDimIsdrawASBooleanPdvateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0 ”單擊繪畫按鈕MouseState=1Case1 ”單擊擦除按鈕MouseState=2EndSelectEndSubPrivateSubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1AndMouseState=2ThenPicture1.FillStyle=0Picture1.FillColor=RGB(255,255,255)Picture1.ForeCOlOr=RGB(255,255,255)Picture1.Circle(X,Y),50ElseIFButton=1AndMouseState=1ThenISdraw=TruePicture1.CurrentX=XPicture1.CurrentY=YEndIfPiCture1.AutoRedraw=TrueEndSubPrivateSubPicture1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Picture1.ForeColor=RGB(0,0,0)IfIsdrawAndMOuseState=1ThenPicture1.Line-(X,Y)EndIfEndSubPrivateSubPicture1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1AndMouseState=1ThenIsdraw=FalseEndSub程序中同時使用了MouseMove,MouseDown和MouseUP大事,當(dāng)鼠標(biāo)按下時觸發(fā)MouseDownMouseMove大事,線的起點(diǎn)為上次的終點(diǎn)。當(dāng)鼠標(biāo)釋MOUseUpIsdrawFalse就不能畫線。員標(biāo)指針WindowsIVisualBasicMousePointerMouseIcon屬性來設(shè)置鼠標(biāo)指針的外形。1.MousePointer屬性對象的MousePointerMousePointer12-30-DefaultWindows箭頭指針。12-2MousePointer屬性的取值和鼠標(biāo)指針的外形常量值外形vbDefault0(默認(rèn)值)外形由對象打算vbArrow1箭頭vbCrosshair2十字線VbIconPointer3I型vblbeam4圖標(biāo)(嵌套方框)vbSizePointer5尺寸線(4個)VbSizeNWSE6左上-右下尺寸線VbSizeWE7水平尺寸線vbUpArrow8向上的箭頭vbHourglass9沙漏vbNoDrop10沒有入口:一個圓形記號vbArrowHourglass11箭頭和沙漏VbSizeNESW12左上-右下尺寸線VbSizeNS12垂直尺寸線vbArrowQuestion14箭頭和問號vbSizeAll15四向尺寸線vbCustom99MouseIcon屬性指定的自定義圖標(biāo)Text1時鼠標(biāo)的指針為I型:Text1.MousePointer=32.MouseIcon屬性MousePointer99時,可以用MouseIcon屬性將鼠標(biāo)指針設(shè)置為任意外形。設(shè)置MouseIconLoadPicture函數(shù)加載圖形文件設(shè)置。可以使用圖標(biāo)或光標(biāo)文件宋設(shè)置鼠標(biāo)指針。圖標(biāo)就是.icoVisualBasic的圖標(biāo)文件一樣。光標(biāo)就是.cur文件,本質(zhì)上像圖標(biāo)一樣是位圖,但是,光標(biāo)主要是表示鼠標(biāo)指針的外形而創(chuàng)立的。拖放操作在運(yùn)行Windows程序時,可以使用鼠標(biāo)拖放功能便利地轉(zhuǎn)變某些對象的位置,這種操作稱為拖放。拖放的一般過程是:把鼠標(biāo)光標(biāo)移到一個對象上,按廠鼠標(biāo)鍵,不要松開,然來位置的對象稱為源對象,而拖動后放下的位置的對象稱為目標(biāo)對象,在拖動過程中,被拖動的對象變?yōu)榛疑isualBasic支持兩種拖放,即控件拖放和OLE拖放。拖放包括兩個操作:按下鼠標(biāo)按鈕并移動控件的操作叫拖動(Dragging),釋放按鈕的操作叫放下(Dropping)。控件拖放VisualBasic中,除菜單、計時器、對話框控件、圖形控件等以外的控件都支持拖放。下面介紹與控件拖放有關(guān)的屬性、大事和方法。屬性(1)DragMode屬性該屬性用來設(shè)置控件的拖放模式,共有兩種:自動拖動模式(Automatic)和手動拖動模式(Manual)DragMode0(默認(rèn)值)DragMode1時表示自動拖動。DragMode1,則啟用自動拖動模式。當(dāng)用戶在源對象上按下鼠標(biāo)左鍵同DragDrop大事。值得留意的是:假設(shè)沒有進(jìn)展代碼設(shè)計,對象不會移動到的位置上或加到目標(biāo)對象中,用戶肯定要在目標(biāo)對象的DragDrop大事中進(jìn)展程序設(shè)計才能實(shí)現(xiàn)真正的拖放。在源對象被拖到目標(biāo)對象上的過程中,假設(shè)經(jīng)過其他對象,則在這些對象上產(chǎn)生DragOverDragOverDragDrop之前。DragMode1時,它不能再承受ClickMouseDown大事。DragMode0,則啟動手工拖動模式,此時,必需在MouseDown大事過DragDragMode0ClickMouseDown大事,其他狀況與自動拖動模式一樣。(2)DragIcon屬性在拖動控件的過程中,被拖動的控件并沒有移動,隨鼠標(biāo)移動的是代表該控件的圖標(biāo)。拖動控件時,VisualBasicDragIcon屬性進(jìn)展設(shè)DragIconMouseIcon屬性類似。大事(1)DragDrop大事將源控件(圖標(biāo))DragDropDragDrop大事過程的一般格式為:PrivateSub對象名_DragDrop(SourceAsControl,XasSingle,YAsSingle)說明:①對象名是指鼠標(biāo)指針?biāo)傅哪繕?biāo)對象名。②Source參數(shù)為正在被拖動的控件(源對象),可在大事過程中設(shè)置和使用該控件的屬性和方法。例如:Source.Enabled=False③X、Y是拖放完畢時鼠標(biāo)指針的位置。(2)DragOver大事在拖動對象的過程中,當(dāng)鼠標(biāo)指針越過一個控件時,被越過的控件將產(chǎn)生DragOver大事。DragOver大事是當(dāng)拖放操作正在進(jìn)展時發(fā)生。DragOver大事過程的一般格式是:PrivateSub對象名_DragOver(SourceAsControl,XAsSingle,YAsSingle,StateAsInteger)說明:①Source,x,yDragDrop大事一樣。②State0(vbEnter)表示鼠標(biāo)指針正在進(jìn)入目標(biāo)對象:假設(shè)為1(vbLeave)表示正在離開目標(biāo)對象;假設(shè)為2(vbOver)表示正經(jīng)過目標(biāo)對象。TypeOf由于當(dāng)源對象被拖放時,源對象作為Source參數(shù)傳入大事過程中,Source為對象變量,它相應(yīng)的方法進(jìn)展操作。語法格式為:IfTypeOf對象變量Is控件類型Then其中,TypeOf函數(shù)的返回值為對象變量所引用控件的類型。[12-9]自動方式拖放圖片。EXEForm1Picture1和Picture2Picture1Picture12-6所示。12-6拖放圖片程序代碼為:PrivateSubForm_LoadPicture1.DragMode=1”自動拖放EndSubPrivateSubPicture2_DragDrop(SourceAsControl,XAsSingle,YAsSingle)IfTypeOfSourceIsPictureBoxThen 源對象是葉;是圖片框Picture2.Picture=Source.PictureEndIfEndSubDrag方法Drag方法用于代碼中對象的拖放行為,其語法格式如下:對象名.DragActionAction12-4使示。12-4Drag方法中Action參數(shù)的取值及其含義常數(shù)常數(shù)VbCancelVbBeginDragVbEnddrag值012含義取消指定控件的拖放Drag方法消滅在控件的大事過程中時,允許拖放指定的控件DrasDroP大事ActionVbBeginDragDragAction參VbEnddragDragDropVbCancel則取DragDrop事什。[12-10]拖放操件應(yīng)用程序例如。啟動一個的工程,在窗體卜添加一個文本框,一個分組 框。然后這兩個控件的DragMode屬性都改成1—Automatic。文本框的DragIcon屬性足“d:\VB教程\拖放操作\BOO.ic,分組框的DragIcon屬性是“d\VB教程\拖放操作\phone0.IC。將窗體的Caption屬性設(shè)置為“拖放文本框的圖標(biāo)是“書,拖放分組框的圖標(biāo)是“機(jī)。將下過程添加到窗體的DragDrop大事中:PrivateSubForm_DragDrop(sourceAscontrol,XAsSingle,YAsSingle)Source.MoveX,YEndSub程序執(zhí)行時,將鼠標(biāo)放在文本框上,鼠標(biāo)指針變成書的圖標(biāo),然后可以將文本框拖到位置。將鼠標(biāo)放在分組框上,鼠標(biāo)指針變成機(jī)圖標(biāo),然后可以將分組框拖到位置。程序的執(zhí)行結(jié)果如圖12-7所示。由于屏幕硬拷貝不能包括鼠標(biāo)指針,所以圖中見不到“書”和“機(jī)”圖標(biāo)。12-7拖放操作例如程序的執(zhí)行結(jié)果OLE拖放OLEVisualBasic供給的最強(qiáng)大、最有用的功能之一,支持在控件和控件之間、Windows應(yīng)用程序之間拖動文本和圖形。OLE拖放包括從對象拖動數(shù)據(jù)和將拖動數(shù)據(jù)放入對象。VisualBasicOLE拖放。OLE拖放也分為自動拖放和手動拖放。自動拖放無需編寫任何代碼,因此比較簡潔實(shí)現(xiàn)。[12-11]文字的拖放。EXEForm1窗體中添加兩個文本框Text1Text2,輸入以下代碼:PrivateSubForm_LoadText1.OLEDragMode=1 ”自動拖動源Text2.OLEDropMode=2 ”O(jiān)LE拖放EndSub運(yùn)行程序,文本框中輸入假設(shè)干字符,用鼠標(biāo)選中Text1中的局部字符,然后拖動這些選Text2上,釋放鼠標(biāo)。習(xí)題十二一.選擇題1.編寫如下大事過程:PrivateSubForm_KeyPress(KeyAsciiAsInteger)PrintChr(KeyAscii);Print(KeyAscii)EndSub運(yùn)行程序,按下“a”鍵輸出結(jié)果為 (B)a65 。(A)A65 (B)a65 (C)65A (D)65a2,在窗體上畫一個命令按鈕和 個文本框,并把窗體的KeyPress屬性設(shè)置為True,然后編寫如下代碼:DimAllAsStringPrivateSubCommand1_ClickText1.text=Ucase(A11)EndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)All=All+Chr(KeyAscii)EndSub程序運(yùn)行后在鍵盤上輸Hell單擊命令按鈕則文本框中顯示的內(nèi)容為 (A)HELLO (B)Hello (C)不顯示任何信息 (D)出錯3.編寫如下大事過程:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode):PrintKeyCodeEndSub運(yùn)行程序后,按下“E”輸出為 。(A)E69 (B)e69 (C)69E (D)69eKeyPreview屬性設(shè)置為True,然后編寫如下過程:PrivateSubForm_KeyDown(KeyCodeASInteger,ShiftAsInteger)Printchr(KeyCode);EndSubPrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode+32)EndSub當(dāng)按下“a”時,輸入為 。(A)Aa (B)A,A (C)a,a (D)a,A編寫以下大事過程:PrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)KeyCode=KeyCode+32PrintUcase(Chr(KeyCOde))EndSub運(yùn)行程序,當(dāng)按下“A”鍵時,輸出為 A 。(A)A (B)65 (C)a (D)97編寫如下大事程序:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)IfShift=3AndButton=2ThenPrint“BBBB“EndIfEndSub運(yùn)行后,為了在窗體上輸出“BBB,應(yīng)執(zhí)行的操作為 D 。(A)同時按下Shitt鍵和鼠標(biāo)左鍵。 (B)同時按下Shin鍵和鼠標(biāo)右鍵。(C)同時按下Ctrl,Alt和鼠標(biāo)左鍵。 (D)同時按下Ctrl,Shift和鼠標(biāo)右鍵。7.編寫如下程序:DimsumAsIntegerPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1Thensum=sum+1ElseIfButton=2ThenSum=sum-1EndIfEndSubPrivateSubCommand1_ClickPrintsumEndSub運(yùn)行程序,當(dāng)鼠標(biāo)在窗體上左擊3次,右擊1次,再單擊按鈕,輸出為 A 。(A)l (B)-1 (C)2 (D)4編寫以下程序:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfShift=AndButton=ThenPrint“HELLO“EndIfEndSub運(yùn)行程序后,當(dāng)同時按下Shift鍵和Alt鍵并用鼠標(biāo)左擊時,輸出“HELLO”,請選擇程序中Shift和Button參數(shù)的值 D 。(A)1,3 (B)2,1 (C)3,2 (D)5,1在某個程序中想要把鼠標(biāo)的光標(biāo)變?yōu)樯陈┩庑蝿tMousepointer的值應(yīng)為D 。(A)1 (B)3 (C)14 (D)11二.填空題1KeyPress大事過程時,KeyAscii表示按鍵的ASCIIA碼值。2KeyPreview屬性設(shè)胃為True,并編寫如下大事過程:PrivateSubForm_KeyPress(KeyAsciiAsInteger)PrintKeyAsciiEndSub當(dāng)按下“a”鍵時,輸出為65 3.在窗體上畫一個文本框,然后編寫如下過程:PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimchaAsStringCha=Chr(KeyAscii)KeyAscii=Asc(Ucase(cha))Text1.text=String(6,KeyAscii)EndSub運(yùn)行程序后,假設(shè)在鍵盤上輸入“,則文本框中顯示的內(nèi)容為AAAAAAA 4.PrivateSubForm_LoadShowText2.Text=““Text1.Text=““Text.SetFocusEndSubP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年轉(zhuǎn)換工程師勞動合同協(xié)議書
- 售車協(xié)議和購買合同
- 2025租房裝修合同樣本
- 2025商業(yè)綜合體物業(yè)管理服務(wù)合同書
- 2025餐飲外賣配送服務(wù)合同示例
- 2025年國家生源地助學(xué)貸款合同范本
- 商品吊牌生產(chǎn)合同協(xié)議
- 2025標(biāo)準(zhǔn)個人借款合同范本
- 商業(yè)除塵車租賃合同協(xié)議
- 商品贈品協(xié)議書范本
- 2024年揭陽市揭西縣招聘衛(wèi)生健康事業(yè)單位筆試真題
- 肝硬化常見并發(fā)癥的護(hù)理
- 惠州一中、珠海一中等六校聯(lián)考2024-2025學(xué)年高三考前熱身物理試卷含解析
- 所得稅會計試題及答案
- 2025年保安員職業(yè)技能考試筆試試題(700題)附答案
- 《知不足而后進(jìn) 望山遠(yuǎn)而力行》期中家長會課件
- 專題09 鄉(xiāng)村和城鎮(zhèn)-五年(2019-2023)高考地理真題分項匯編(解析版)
- 2025年第三屆天揚(yáng)杯建筑業(yè)財稅知識競賽題庫附答案(201-300題)
- 某縣公共實(shí)訓(xùn)基地建設(shè)項目可研報告
- 2025年納米鎳粉市場規(guī)模分析
- T-NKFA 015-2024 中小學(xué)午休課桌椅
評論
0/150
提交評論