版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章鼠標(biāo)和鍵盤事件8.1鍵盤事件8.2鼠標(biāo)事件8.3應(yīng)用8.1鍵盤事件
KeyPress事件:用戶按下并且釋放一個(gè)會(huì)產(chǎn)生ASCII碼的鍵時(shí)被觸發(fā)。
KeyDown事件:用戶按下鍵盤上任意一個(gè)鍵時(shí)被觸發(fā)。
KeyUp事件:用戶釋放鍵盤上任意一個(gè)鍵時(shí)被觸發(fā)。參數(shù)KeyPress事件
PrivateSubForm_KeyPress(KeyAsciiAsInteger)……EndSub參數(shù)KeyAscii是按鍵事件發(fā)生后,返回所按鍵的ASCII碼值。例:用窗體的KeyPress事件書寫程序,判斷按下的鍵是否為英文字母,如果是則輸出,否則“響鈴”。PrivateSubText1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)……EndSubPrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)……EndSub2.KeyDown和KeyUp事件KeyCode參數(shù)返回按鍵的掃描碼。鍵盤上的每個(gè)鍵均有惟一的掃描碼,此參數(shù)指示了按鍵的物理位置。如"A"與"a"是同一個(gè)鍵,故掃描碼均為65。但是鍵盤上的“1”和數(shù)字小鍵盤的“1”就有不同的掃描碼,盡管它們生成相同的字符。Shift參數(shù),判斷是否在操作過(guò)程中按下了Shift、Ctrl和Alt鍵,以及以什么樣的組合(如果存在)按下這些鍵。實(shí)際上Shift參數(shù)是一個(gè)三位二進(jìn)制數(shù):
b2b1b0b0=1表示按下Shift鍵
b1=1表示按下Ctrl鍵
b2=1表示按下Alt鍵如果按Shift鍵,則Shift為1;如果按Ctrl鍵,則Shift為2;如果按Alt鍵,則Shift為4。應(yīng)使用這些鍵值的總和來(lái)判斷這些組合。例如,同時(shí)按下Shift和Alt鍵時(shí)Shift等于5(1+4)。例如,創(chuàng)建一個(gè)工程,編寫如下代碼,實(shí)現(xiàn)在小寫字母輸入狀態(tài)下,用Shift參數(shù)區(qū)分輸入的字母是大寫還是小寫,并在窗體上輸出相應(yīng)的字母和KeyCode值。PrivateSubForm_KeyUp(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode>=Asc("A")AndKeyCode<=Asc("Z")ThenIfShift=1ThenPrintChr(KeyCode);KeyCodeElsePrintLCase(Chr(KeyCode));KeyCodeEndIfEndIfEndSub小技巧:一般來(lái)說(shuō),如果需要檢測(cè)鍵盤輸入的哪個(gè)字符,則選用KeyPress事件;如果需要檢測(cè)所按的是哪個(gè)鍵,則選用KeyUp或KeyDown事件。8.2鼠標(biāo)事件
MouseDown事件:按下任意鼠標(biāo)按鈕時(shí)發(fā)生。
MouseUp事件:釋放任意鼠標(biāo)按鈕時(shí)發(fā)生。
MouseMove事件:每當(dāng)鼠標(biāo)指針移動(dòng)到屏幕新位置時(shí)發(fā)生。參數(shù)⑴Button是一個(gè)三位二進(jìn)制數(shù)b2b1b0,描述鼠標(biāo)按鈕的狀態(tài):
b0=1表示左鍵按下或釋放
b1=1表示右鍵按下或釋放
b2=1表示中鍵按下或釋放(目前幾乎見(jiàn)不到有中鍵的鼠標(biāo)器)⑵Shift參數(shù),反映用戶在按下鼠標(biāo)鍵的同時(shí),按了Shift、Ctrl、Alt這三個(gè)控制鍵中的哪一個(gè)鍵或它們的哪一種組合。⑶x,y表示鼠標(biāo)指針的位置,這里用到了接受鼠標(biāo)事件的對(duì)象的坐標(biāo)系統(tǒng)描述的鼠標(biāo)指針位置。例:編寫程序,在鼠標(biāo)左鍵單擊窗體位置顯示彩色的“*”,如圖所示,當(dāng)鼠標(biāo)右鍵單擊窗體時(shí)清除窗體信息。PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1Then'按下左鍵則輸出*
CurrentX=XCurrentY=YForeColor=QBColor(Rnd*16)Print"*"ElseClsEndIfEndSub第九章圖形操作9.1圖形操作基礎(chǔ)9.2繪圖屬性9.3圖形方法9.4圖形方法應(yīng)用9.5圖形控件9.1圖形操作基礎(chǔ)9.1.1坐標(biāo)系統(tǒng)1.坐標(biāo)的概念2.坐標(biāo)刻度與單位⑴使用缺省刻度單位⑵選擇標(biāo)準(zhǔn)刻度單位值常數(shù)說(shuō)明0VbUser用戶自定義坐標(biāo)系統(tǒng)1VbTeips緹。這是缺省刻度。1,440緹等于一英寸。2VbPoints磅。72磅等于一英寸。3VbPixels像素。像素是監(jiān)視器或打印機(jī)分辨率的最小單位。4VbCharacters字符。打印時(shí),一個(gè)字符有1/6英寸高、1/12英寸寬。5VbInches英寸。6VbMillimeters毫米。7VbCentimeters厘米。ScaleMode屬性設(shè)置值9.1.2自定義坐標(biāo)系統(tǒng)1.用坐標(biāo)屬性定義坐標(biāo)系統(tǒng)
可以使用對(duì)象的ScaleLeft、ScaleTop、ScaleWidth
和ScaleHeight
四個(gè)屬性,來(lái)創(chuàng)建自定義坐標(biāo)。例:通過(guò)坐標(biāo)屬性定義窗體Form1的坐標(biāo)系。
例:
如果窗體Froml左上角坐標(biāo)為(-200,250),右下角坐標(biāo)為(300,-150)。則x軸和y軸的正向分別為()
A.向右、向下
B.向左、向上
C.向右、向上
D.向左、向下
2.使用坐標(biāo)方法定義坐標(biāo)系統(tǒng)
使用Scale方法定義坐標(biāo)系統(tǒng)的格式:
[對(duì)象名.]Scale(x1,y1)–(x2,y2)
例:通過(guò)使用Scale方法義窗體Form1的坐標(biāo)系。
返回9.2繪圖屬性9.2.1當(dāng)前坐標(biāo)
圖形輸出對(duì)象的當(dāng)前坐標(biāo)CurrentX、CurrentY
屬性用于返回或設(shè)置在窗體或圖片框中,下一次打印或繪圖方法的水平(CurrentX)和垂直(CurrentY)坐標(biāo)。9.2.2線寬對(duì)象名.DrawWidth[=size]9.2.3線型對(duì)象名.DrawStyle[=number]
FillColor指定填充的顏色,默認(rèn)的填充顏色與輸出對(duì)象的ForeColor相同。
FillSytle屬性指定填充的圖案。
9.2.4填充9.2.5顏色1.顏色屬性⑴BackColor屬性⑵ForeColor屬性⑶BorderColor屬性⑷FillColor屬性2.顏色函數(shù)與顏色整數(shù)使用顏色函數(shù)RGB和QBColor,還可以直接使用十進(jìn)制整數(shù)或十六進(jìn)制整數(shù)返回⑴可以用&HBBGGRR形式的6位十六進(jìn)制數(shù)或十進(jìn)制整數(shù)描述顏色。十六進(jìn)制數(shù)的左邊應(yīng)加字母H,按照三基色原理,從最低字節(jié)到最高字節(jié)依次決定紅(RR)、綠(GG)和藍(lán)(BB)的量。紅、綠和藍(lán)的量分別由一個(gè)介于0~255(&H00~&HFF)之間的數(shù)來(lái)表示。表示RGB顏色的十進(jìn)制數(shù)值的取值范圍0(&HO00000)~16,777,215(&HFFFFFF)。例如:&060000表示深綠色。⑵可以使用系統(tǒng)提供的描述顏色的常量。
vbBlack&H0黑色
vbRed&HFF紅色
vbGreen&HFF00綠色
vbYellow&HFFFF黃色
vbBlue&HFF0000藍(lán)色
vbMagenta&HFF00FF洋紅
vbCyan&HFFFF00青色
vbWhite&HFFFFFF白色⑶使用RGB(r,g,b)函數(shù)。
RGB(255,0,O)表示紅色
RGB(0,255,0)表示綠色
RGB(O,O,255)表示藍(lán)色
RGB(255,255,0)表示黃色
RGB(255,0,255)表示紫色
RGB(0,255,255)表示青色
RGB(O,O,O)表示黑色
RGB(255,255,255)表示白色⑷使用QBColor()函數(shù)。值顏色值顏色0黑色8灰色1蘭色9亮蘭色2綠色10亮綠色3青色11亮青色4紅色12亮紅色5洋紅色13亮洋紅色6黃色14亮黃色7白色15亮白色9.3圖形方法9.3.1Line方法
Line方法用于在對(duì)象上畫直線和矩形。其使用語(yǔ)法格式為:[對(duì)象名.]Line[Step](x1,y1)-[Step](x2,y2),[color],[B][F]
例:使用Line方法畫三角形、矩形框和矩形塊。
9.3.2Circle方法
Circle方法用于在對(duì)象上畫圓、橢圓、弧或扇形,其語(yǔ)法格式為:對(duì)象名.Circle
[Step](x,y),半徑,[color,start,end,aspect]
例:使用Circle方法畫扇形、畫圓、畫橢圓。
9.3.3PSet方法
Pset方法用于在對(duì)象上的指定位置,按指定顏色畫點(diǎn)。語(yǔ)法格式為:對(duì)象名.PSet[Step](x,y),[color]返回例:利用參數(shù)方程畫正弦曲線。例:下面程序運(yùn)行后輸出的圖形是()PrivateSubForm_Click()Constangle=3.14159/180ForI=0To360Step30X1=1000+900*Cos(angle*I)Y1=1000+900*Sin(angle*I)X2=1000+500*Cos(angle*I)Y2=1000+500*Sin(angle*I)Line(X1,Y1)-(X2,Y2)Circle(1000,1000),480NextIEndSub例:運(yùn)行下面程序后,按命令按鈕Command1,在窗體上顯示的結(jié)果是:
PrivateSubCommand1_Click()Fork=1To10Col=Int(Rnd*16)Rad=Int(Rnd*1000+100)Circle(2000,1500),Rad,QBColor(Col)NextkEndSub10個(gè)半徑不同,顏色相同,圓心位置相同的圓B.10個(gè)半徑相同,顏色不同,圓心位置相同的圓C.10個(gè)半徑不同,顏色不同,圓心位置相同的圓D.10個(gè)半徑不同,顏色不同,圓心位置不同的圓
例:下列程序運(yùn)行后,窗體上顯示的圖形為()
PrivateSubForm_Click()DimCenterXAsInteger,CenterYAsIntegerCenterX=Form1.ScaleWidth/2CenterY=Form1.ScaleHeight/2PSet(0,CenterY)Fori=1To10Line-Step(500,-500)Line-Step(0,500)NextiEndSubABCD9.4圖形方法應(yīng)用9.4.1幾何形繪制例
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防水材料在別墅區(qū)建設(shè)中的應(yīng)用考核試卷
- 食品批發(fā)商業(yè)務(wù)知識(shí)競(jìng)賽與能力提升考核試卷
- 陶瓷行業(yè)產(chǎn)業(yè)鏈供應(yīng)鏈優(yōu)化-洞察分析
- 陰道腫瘤經(jīng)濟(jì)負(fù)擔(dān)與醫(yī)療支出-洞察分析
- 醫(yī)療機(jī)構(gòu)品牌建設(shè)的國(guó)際化趨勢(shì)分析-洞察分析
- 舞蹈編創(chuàng)技巧-洞察分析
- 結(jié)腸癌的術(shù)后護(hù)理措施
- 算法倫理研究-洞察分析
- 2024-2025學(xué)年福建省龍巖市一級(jí)校聯(lián)盟高一上學(xué)期11月期中聯(lián)考生物試題(解析版)
- 2023-2024學(xué)年新疆吐魯番市高二上學(xué)期期末考試生物試題(解析版)
- 生姜的產(chǎn)地分布
- 普通高中學(xué)業(yè)水平合格性考試(會(huì)考)語(yǔ)文試題(附答案)
- 統(tǒng)編語(yǔ)文八上文言文過(guò)關(guān)小測(cè)驗(yàn)-《愚公移山》
- 12、口腔科診療指南及技術(shù)操作規(guī)范
- 醫(yī)藥電商行業(yè)發(fā)展趨勢(shì)報(bào)告
- 2020年10月自考00020高等數(shù)學(xué)一高數(shù)一試題及答案含評(píng)分標(biāo)準(zhǔn)
- 勞務(wù)派遣方案
- 電費(fèi)異常問(wèn)題篩選及處理途徑
- 幼兒園中班語(yǔ)言繪本《三只蝴蝶》課件
- 高中英語(yǔ)校本教材《英語(yǔ)美文閱讀與欣賞》
- 深邃的世界:西方繪畫中的科學(xué)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
評(píng)論
0/150
提交評(píng)論