電子書籍の厳選無料作品が豊富!

フォームにイメージと直線を2本(水平線・垂直線)を置いています。

イメージの中でマウスボタンが押されたら、この直線がそのポイントをクロスするように移動させたいのですが・・

マウスのポイントは x,y(座標 ドット?) で取得できますが、直線を移動させる時 cmで単位があいません。

感じとしては
水平線.Top =イメージ.Top + Y * ???
垂直線.Left =イメージ.Left + X * ???
としたいのですが ???にあたる係数はいくつになるのか、どなたか教えて頂けませんか?

A 回答 (1件)

私のアクセス(2000)では


Private Sub IMAGE0_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.VLINE.Left = X + Me.IMAGE0.Left
Me.HLINE.Top = Y + Me.IMAGE0.Top
End Sub
でぴったりあっていますが、
もしかしたら、このあたりかもしれません。(以下引用)

単位の変換
 VB に限った事ではないのだが、座標の単位を変換しなればならない事がよくある。
 よくあるパターンとしては、ポイントとミリメートル、そして VB の Twips 。
 その換算式はこうなる。

1[インチ] = 72 [ポイント]
1[インチ] = 1440 [Twips]
1[ポイント] = 20 [Twips]
1[インチ] = 25.4 [mm]
1[ピクセル] = Screen.TwipsPerPixelY [Twips]

 上の式を応用すると、χ [mm] の文字のポイント数は、

y [ポイント] = χ × 72 ÷ 25.4

となる。

参考URL:http://www.threeweb.ad.jp/~valkyrie/tips_vb.shtml
    • good
    • 0
この回答へのお礼

う~~ん
昨日、うまくいかず悩んで質問しましたが。
>Me.VLINE.Left = X + Me.IMAGE0.Left
>Me.HLINE.Top = Y + Me.IMAGE0.Top
でピッタリと合ってます。
何が悪かったのかわかりませんが、うまくいきました。

単位の変換も含めて、ありがとうございます。

お礼日時:2007/07/06 18:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!