VB6で日曜プログラミングをしているものです。
パワーポイントのオートシェイプの線のような具合で
矢印をPictureBox内で扱いたいのですが、そのようなコントロールなど
ご存知の方いらっしゃいましたらご教示お願いできませんでしょうか?
イメージとしては、PicutreBox内でクリックすると矢印描画開始、
もう一回クリックして確定。
矢印の上でクリックすると、矢印にフォーカスが当たる(頭と尻尾に○が表示?)。
確定後はドラッグアンドドロップが可能で矢印の先端をドラッグアンドドロップ
することで、矢印の長さ、傾きの調整が可能。
みたいなものをイメージしています(まんまパワポのオートシェイプ)
お力お貸しください。
No.1ベストアンサー
- 回答日時:
PictureBoxコントロールの中にLineコントロールなどを組み合わせて貼り付けて
矢印にしてはどうでしょうか?
PictureBoxのMouseDownイベントでクリックしたポイントがわかります。
確定後の操作もMouseDown MouseUp、MouseMoveを使い
座標から矢印をクリックしたかどうかを判定します。
ドラッグはMouseDown→MouseUpするまでの間がドラッグしたことになります。
あくまで一案ですが。
sha-girlさん、早速の回答ありがとうございます。
実は私もLineメソッドで無理やり矢印を作って「らしい」ものを作って見たん
ですが、ちょっと問題が出てしまったのです。
PictureBoxにImageを部分的に貼り付けているのですが、
そうするとLine(矢印)がImageの後ろに隠れてしまうのです。
最前面からLine(矢印)、Image、PictureBoxの順にしたいのですが、
現状Lineメソッドで記述しているため、Imageが最前面に来てしまいます。
なんとか、克服する手段はないでしょうか?
(できれば、コーディングが少なくてすみそうなArrowコントロール
みたいなのがあるといいなぁ・・なんて)
お知恵をお貸しください。
No.3
- 回答日時:
どうも。
頑張っておられるようですね。>そうするとLine(矢印)がImageの後ろに隠れてしまうのです。
>最前面からLine(矢印)、Image、PictureBoxの順にしたいのですが、
>現状Lineメソッドで記述しているため、Imageが最前面に来てしまいます。
私がいっていたのはPictureBoxのLineメソッドではありません。ツールボックス
(PictureBoxとかあるとこ)にあるLineです。
そしてPictureBoxの選択状態でLineを貼り付けてみてください。
そうすればPictureBoxの内部に貼りつきます。
PictureBoxの内部に貼り付けているならPictureBoxを移動させたとき
Lineも移動するので確かめてみてください。
sha-girlさん、お礼のお返事が送れて申し訳ございません。
Lineコントロールを使えばzorder指定ができるんですね。
ありがとうございます。
Lineコントロールは、イベントをハンドルできないので、
無理だと勝手に決め付けてしまっていて、
どうせイベントをハンドルできないなら、Lineメソッドで描いてしまえっ、
というのりでやっていました。
ありがとうございました。
No.2
- 回答日時:
昨晩質問を見て、昨日は何も思いつきませんでした、、、
sha-girl氏の発言
>PictureBox
このアイディアは、思いつきませんでした。
んで、これに便乗して・・・
リージョンと組み合わせると、多角形のオブジェクトが作成することができます。
参考URLに「みーくんパパの仕事部屋」を載せておきます。
※角の丸いウィンドウ
※吹き出し型ウィンドウ
などがいいサンプルになるかも?
参考URL:http://www.mitene.or.jp/~sugisita/family/papa/vb/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンボボックスの文字によるif...
-
VBAのエラーについて、”実行時...
-
エクセル・VBA CheckBoxのオブ...
-
エクセルVBAでオプションボタン...
-
ExcelにてListviewが表示できない
-
VB.NET 動的コントロールの存在...
-
VBA ユーザーフォームの Keypre...
-
Excel VBA で Richtextboxを使...
-
With~EndWithの省略部分と引数...
-
TabStripコントロールの上にLab...
-
Validated イベントについて
-
コントロールを移動できない
-
vb.netで画面のコントロールId...
-
ACCESS2010のVBAでフォーム内ク...
-
Labelコントロールの(左右)余...
-
VB.NET開発。ラジオボタンとコ...
-
Excelコマンドボタン名を変数に...
-
ユーザコントロールのイベント...
-
間違えて配置してしまったコン...
-
ExcelVBAのコントロールの種類...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
エクセルVBAでオプションボタン...
-
vb.netで画面のコントロールId...
-
ExcelVBAでListViewが使用できない
-
EXCELでactivexコントロールを...
-
コントロールを移動できない
-
フォーム上の現在アクティブな...
-
ユーザーフォームで動的(Me.Con...
-
ListViewのチェックボックスに...
-
C#で角が丸いテキストボックス
-
エクセル コントロールツール...
-
VBAのフォームでTextBoxがいっ...
-
Excel VBA で Richtextboxを使...
-
VBA ユーザーフォームの Keypre...
-
Groupboxの配下のコントロール...
-
ACCESS2010のVBAでフォーム内ク...
-
chr関数の呼び出しで「プロ...
-
vba dbcommand button activex ...
-
With~EndWithの省略部分と引数...
おすすめ情報