• ベストアンサー

曲線の描画方法

VB2005でプログラミングをしています。 目標としては、曲線を描画して、更にその曲線をドラッグなどができるようにしようとしています。 ピクチャーボックスに曲線を描くのはDrawCurveでできましたがこれでは曲線の移動などはできないので、別の方法を探しています。 調べているとLineShapeというコントロールがあることを知り、曲線は無理でもこのLineShapeで作った直線のコントロールをグループ化して折れ線のようにし、さらにグループ化した折れ線をドラッグなどの処理が行えるようにできないかと模索しています。このような処理は可能でしょうか? 一応、LineShapeを繋ぎ合わせて折れ線はできましたが、マウスカーソルをこのコントロールの上に持っていくとやはり直線一本一本がバラバラでしか認識できません。マウスカーソルを持っていったときに折れ線として認識できるようにしたいのですが、いい案はないでしょうか?ご教授お願いいたしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

UserControlを使ってShapeContainerを上手に使えば出来そうですよ UserControlをプロジェクトに追加 1) メンバーに ShapeContainer型のオブジェクトを追加 2) 1)の Shapes.Add で LineShape を追加 3) 1)のPaintイベントなどで LineShapeのClickイベントを登録 4) 3)で登録したイベントで LineShapeのBorderColorを変えるとか # 標準コントロールでないものはその出展を明示しましょう # VS2005 PowerPacks 2.0/3.0のコンポーネント など ・・・

vandread
質問者

お礼

あ、パワーパックスの件書き忘れていました・・・申し訳ありませんm(_ _)m 少し難しそうですが、そのような方法もあるのですね!!試してみます。ありがとうございました。

その他の回答 (1)

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.1

DrawCurveを使う方法では、下のリンクで同様の質問から回答されていらっしゃいます。 VBでの回答例ではないですが、問題なく読めるレベルだと思われます。 ペンの幅を太くしてやれば、域値にも対応できそうですね。

参考URL:
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=777117&SiteID=7
vandread
質問者

お礼

回答していただきありがとうございます^^ なるほど、そのような方法があるとは思いつきませんでした!! 早速試してみます。