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

お世話になります。
VBで運賃を計算するソフトを作成しています。
そこで質問があるのですが、鉄道路線図(画像ファイル)があります。
その画像をPictureBoxに貼り付け、画像内にある駅名をクリックすると、テキストボックスにその駅名を入れるようにしたいのですがどうすれば実現できますか??

よろしくお願いします。

A 回答 (2件)

MouseDown, MouseUp, MouseClick等のイベント引数でマウスの座標が分かります。



Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick
e.Location.X ' X座標
e.Location.Y ' Y座標
End Sub

# VB.NETだとMouseClickイベントは無いのかな?その場合はMouseDownかMouseUpで


投稿ついでに。
画像内のクリック判定領域の定義はRectangleを使うと便利です。Rectangle.Containsメソッドでアタリ判定が楽にできます。

Dim rectA As New Drawing.Rectangle(10, 10, 20, 20)

Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick

If rectA.Contains(e.Location) Then
Console.WriteLine("矩形内")

Else
Console.WriteLine("矩形外")

End If

End Sub
    • good
    • 0

1. 「駅名と駅名が書かれている座標情報」の対応表を配列で作る


2. MouseDownまたはMouseUpイベント時に、対応表からマウス座標を含んでいるデータを探す
3. 一致したデータがあれば駅名特定
4. どれも一致しなければクリックした場所に駅名はない

VB6か.NETか分からないのでコードは書きません。

この回答への補足

ありがとうございます!
やろうとしていることはわかるのですが・・・

クリックした座標を取得するにはどのようにコードを書けばいいのでしょうか?
ちなみにVB.netです。よろしくお願いします。

補足日時:2009/08/30 11:48
    • good
    • 0

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