すみません。すごく初歩的な質問です。
フォームに、Pictureプロパティで Image を呼び込んで貼り付け、
この Image をドラッグして移動させようとしても、動きません。
もともと画像はドラッグできないのでしょうか?
それとも私のやりかたに問題があるのでしょうか?
よろしくお願いします。
動かないのはそういう仕組みがないからです。
GDI系APIを駆使して作ってみてはいかがですか?
あるものは使う、ないものは作る、がプログラミングの原則です。
Sayさん、ありがとうございます。
実は、『10日で覚える Visual Basic 6.0 』(翔泳社)という本で
Visual Basic 6.0 を学習しています。
この本にもともとついていたCDのなかのサンプルに、
画像を貼り付けたフォームがあって、その画像はドラッグできるのに、
自分でつくったものはドラッグできないんです。
ボタンにしても、ラベルにしても、ドラッグできるので、
画像もドラッグできると考えるのが普通で、
『GDI系APIを駆使して』新たに作るというのとは
ちょっと違うような気がするのですが … 。
何かおわかりになりましたら引き続きよろしくお願いします。
>実は、『10日で覚える Visual Basic 6.0 』(翔泳社)という本で
当該書籍は読んだことありませんし、読むつもりもありませんが、
>画像を貼り付けたフォームがあって、その画像はドラッグできるのに、
本当に画像はFormに直接貼り付けられてますか?
Form上にPictureBoxかImageコントロールがあって、
その中に画像があるのではありませんか?
もし、Formに直接貼り付けられていて、
それをマウスの動きにあわせて動かしているのであれば
PaintPictureで位置指定して画像読み込みしているのかも
しれません。
いずれにしても、どこかでMouseDown/MouseMoveか
Drag/DragDrop/DragOverあたりを使っているはずですので、
ソースを解析してみてはいかがでしょう?
Sayさん、ありがとうございます。
申し訳ありません。
次の言葉の意味を参考書の索引で調べたのですが
わかりませんでしたので教えていただけないでしょうか?
PictureBox
Imageコントロール
PaintPicture
MouseDown/MouseMove
Drag/DragDrop/DragOver
どうかよろしくお願いします。
MSDNは調べたんですかね?
あとちょっと気になったんですが
> ボタンにしても、ラベルにしても、ドラッグできるので、
> 画像もドラッグできると考えるのが普通で、
私はボタンやラベルをドラッグできるプログラムって組んだこと無いんですけど
これ普通なんですかね?
nanashi さん、ありがとうございます。
実はこの掲示板で、MSDN をインストールすることなしに開発ができるかどうか、という質問をさせていただき、『ヘルプが見られないだけで、あまり問題ない』という回答をいただいていました。コピー版しか手に入れることができなかったので、しかたなく、この状態で開発(というより勉強)を始めました。
お恥ずかしいことですが、ずっと以前にも、ある参考書で勉強したことがあり、そのとき、PictureBox とか、Imageコントロール という言葉は理解していたはずなのに、まったく忘れていました。フォーム上に PictureBox を設定して、その後に、Pictureプロパティで Image を呼び込んで貼り付ければ、この画像はドラッグできるということがわかりました。つまり、『PictureBox を設定することなしに』、『Pictureプロパティで Image を呼び込ん』だためにこのようなことが起こったというわけです。なお、ドラッグできるというのは実行時ではなく、編集時のことです。
以上がトラブルの顛末(てんまつ)で、あまりにもバカな間違いで、Say さん、nanashi さんのおふたりに、理解していただけるかどうかわかりませnが、どうも申し訳ありませんでした。
できればこれからもよろしくお願いします。どうもありがとうございました。
ちなみにマルチポストはマナー違反です。
他の掲示板にも解決の旨伝えてください。
ツイート | ![]() |