Private Sub Command1_Click()
Rem 繪點
Picture1.Cls
Picture1.PSet (Val(Text1.Text), Val(Text2.Text)), vbRed
Picture1.PSet (Val(Text3.Text), Val(Text4.Text)), vbRed
End Sub
Private Sub Form_Load()
strMap = "d:\VBPRO\地圖.jpg" '此處請輸入地圖圖片所在的地址
Picture1.Picture = LoadPicture(strMap) '載入地圖圖片
Picture1.Cls
Picture1.AutoRedraw = True
Picture1.DrawWidth = 5
Picture1.Picture = LoadPicture(strMap)
Picture1.Scale (34.5945905, 119.2236247)-(34.6087173, 119.19137113) '定義坐標系統,左上角:(0,180),右下角:(90,0) 這個看實際情況而定
End Sub
這樣寫代碼為什么還是不能再地圖中顯示出文本框輸入的兩點?麻煩各位幫幫忙
uj5u.com熱心網友回復:
文本框里面輸入的數在經坐標變換后沒落到Picture1所在像素點坐標范圍內。我猜。
uj5u.com熱心網友回復:
Scale 方法
用以定義 Form、PictureBox 或 Printer 的坐標系統。不支持命名引數。
語法
object.Scale (x1, y1) - (x2, y2)
Scale 方法的語法包含下列部分:
部分 描述
object 可選的。一個物件運算式,其值為“應用于”串列中的一個物件。如果省略 object,則帶有焦點的 Form 物件預設為 object。
x1, y1 可選的。均為單精度值,指示定義 object 左上角的水平(x-軸)和垂直(y-軸)坐標。這些值必須用括號括起。如果省略,則第二組坐標也必須省略。
x2, y2 可選的。均為單精度值,指示定義 object 右下角的水平和垂直坐標。這些值必須用括號括起。如果省略,則第一組坐標也必須省略。
說明
Scale 方法使您能夠將坐標系統重置到所選擇的任意刻度。Scale 對運行時的圖形陳述句以及控制元件位置的坐標系統都有影響。
如果使用不帶引數的 Scale(兩組坐標都省略),坐標系統將重置為緹。
ScaleMode 屬性
當使用圖形方法或調整控制元件位置時,回傳或設定一個值,該值指示物件坐標的度量單位。
語法
object.ScaleMode [= value]
ScaleMode 屬性的語法包含下面部分:
部分 描述
Object 物件運算式,其值是“應用于”串列中的一個物件。
Value 一個指定度量單位的整數,“設定值”中有詳細描述。
設定值
value 的設定值為:
常數 設定值 描述
VbUser 0 指出 ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 屬性中的一個或多個被設定為自定義的值。
VbTwips 1 (預設值)緹(每邏輯英寸為 1440 緹;每邏輯厘米為 567 個緹)。
VbPoints 2 磅(每邏輯英寸為 72 個磅)。
VbPixels 3 像素(監視器或列印機解析度的最小單位)。
VbCharacters 4 字符(水平每個單位=120 緹;垂直每個單位=240 緹。)
VbInches 5 英寸。
VbMillimeters 6 毫米。
VbCentimeters 7 厘米。
VbHimetric 8 HiMetric
VbContainerPosition 9 控制元件容器使用的單位,決定控制元件位置。
VbContainerSize 10 控制元件容器使用的單位,決定控制元件的大小。
說明
相關的 ScaleHeight、ScaleWidth、ScaleLeft 與 ScaleTop 屬性的使用,可以建立起一個帶有正、負坐標的自定義坐標系統。這四個 Scale 屬性與 ScaleMode 屬性按下面的方式進行互動作用:
把其它任何 Scale 屬性設定為任何值都將 ScaleMode 自動地設定為 0。ScaleMode 等于 0 是用戶定義。
把 ScaleMode 屬性設定為一個大于 0 的數,將使 ScaleHeight 和 ScaleWidth 的度量單位發生改變,并將 ScaleLeft 和 ScaleTop 設定為 0。CurrentX 和 CurrentY的設定值將發生改變以反映當前點的新坐標。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/121733.html
標籤:VB基礎類
