[問(wèn)答題] 完成下列問(wèn)題:在考生目錄下有一個(gè)工程文件sjt3.vbp。窗體上有個(gè)鐘表圖案,其中代表指針的直線的名稱(chēng)是Line1,還有一個(gè)名稱(chēng)為L(zhǎng)abel1的標(biāo)簽
[問(wèn)答題] 完成下列問(wèn)題:
在考生目錄下有一個(gè)工程文件sjt3.vbp。窗體上有個(gè)鐘表圖案,其中代表指針的直線的名稱(chēng)是Line1,還有一個(gè)名稱(chēng)為L(zhǎng)abel1的標(biāo)簽,和其他一些控件(如圖3所示)。在運(yùn)行時(shí),若用鼠標(biāo)左鍵單擊圓的邊線,則指針指向鼠標(biāo)單擊的位置(如圖4所示);若用鼠標(biāo)右鍵單擊圓的邊線,則指針恢復(fù)到起始位置(如圖3所示);若鼠標(biāo)左鍵和右鍵單擊其他位置,則在標(biāo)簽上顯示“鼠標(biāo)位置不對(duì)”。
文件中已經(jīng)給出了所有控件和程序,但程序不完整,請(qǐng)去掉程序中的注釋符,在程序中的橫線處填寫(xiě)正確的內(nèi)容。程序中函數(shù)oncircle()的作用是判斷鼠標(biāo)單擊位置是否在圓的邊線上(判斷結(jié)果略有誤差),“是”則返回True,“否”則返回False。符號(hào)常量x0、y0是圓心距窗體左上角的距離;符號(hào)常量radius是圓的半徑。
注意:不能修改程序中的其他部分和各控件的屬性。最后把修改后的文件按原文件名存盤(pán)。
[題目提供的源程序]
Const y0&=1110, x0&=1100, radius&=750
Private Function oncircle(X As Single, Y As Single) As Boolean
precision=55000
If Abs((X-x0)*(X-x0)+(y0-Y)*(y0-Y)-radius*radius)<precision Then
oncircle=True
Else
oncircle=False
End If
End Function
Private Sub Form_MouseDown(But
正確答案:[操作步驟] 第1步:打開(kāi)工程文件sjt3.vbp。 第2步:修改源程序。 第3步:調(diào)試、運(yùn)行并保存程序。 [1]Y [2]X1 [3]radius [4]Label1
參考解析:在Form_MouseDown事件過(guò)程中,先用函數(shù)oncircle()來(lái)判斷鼠標(biāo)單擊的位置(X,Y)是否在圓的邊界上:若鼠標(biāo)單擊的位置不在邊界上,則在標(biāo)簽上顯示“鼠標(biāo)位置不對(duì)”,所以[4]處應(yīng)填Label1或Label1.Caption;若鼠標(biāo)單擊的位置在邊界上,再根據(jù)單擊的是鼠標(biāo)左鍵還是右鍵來(lái)決定直線的顯示位置。直線Line1由它的端點(diǎn)坐標(biāo)(X1,Y1)和(X2,Y2)控制位置。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。