• 締切済み

実行状態中にオブジェクトの配置、サイズ変更はできますか?

ご質問させていただきます。 Visual Basic 2005 を使っています。 やりたいこととは、 実行状態のフォーム(GroupBoxオブジェクト等)にTextBoxや線/円オブジェクトを置いたり、 そのオブジェクトをマウスクリックで”選択して”縦横のサイズを変更したり、位置を変更したいのです。 (できればマウス右クリックでプロパティの変更なども) 大まかに言えば、 実行状態のフォームに「デザイン状態の操作」や「Excel上の図形描画の操作」と同じようなことができるのでしょうか? (ツールボックスからデザインフォーム上へのオブジェクトの配置、配置したオブジェクトに マウスクリックをしてのサイズ変更、コピー&ペースト処理など) はじめは、直線や四角形を描画して期待通りのことができるかと思いましたが、 やはり描画した後にその線を”つまむ”ことができませんでした。 ちなみに、VB2005ではLineやShape系はないので、VB2005 PowerPacks2.0 を入れることで、 VB6でのLineコントロールみたいな動きはできました。 良いアドバイスありましたらお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

プログラムの中でプロパティの値をプログラムに組み込んだように変えて瞬時に実行してしまうというのが主流の考えと思います。そのプロパティの値をユーザーに選ばせるなら、値の応答を待つという仕組みにします。 デザインモードにわざわざして、そこで編集などさせて終ったという通知をもらってまた続行などは、どうしてもやりたければ、もっとスキルを上達してから研究すればよい。通常の解説書には無い発想です。 むしろ実行モード中に図形オブジェクトの位置や色やその他をマウス指示通り動かすのはエクセルなどでもあるが(例 行高の変更)、相当プロに混じって長期訓練をしないと、ここでの回答でできるなんてとんでもない、とやり方はわからない者ながら、断言できる。 デザインモードではないにしろ、そういうモードに入る(場所とダブルクリックなどで)ーー>マウスの動きをとらえ、プロパティを変化させる。プロパティを変化させると実際の画像等はリアルタイムで反映する仕組みは、基本的に備わっている。 昔の旧いコンピュタ時代は、プロパティ値の変数値を変えるとともに+新しい変数値で実体(見た目など)を変えて表示するプログラムを実行することと2段構え的にしないとダメだったが、ウインドウシステムやオブジェクト指向ではプロパティの変更があると、リアルタイムに変更を反映するプログラムが走るようになっている。

ippatsuman
質問者

お礼

唯一のお答えありがとうございました。 希望することは高度な技術になってくるんですね。 何かインストールしたり、ExcelのOCXか何か登録すればできそうなものかと思っておりました。 一筋縄じゃいかないってことが判っただけでも助かります。 ありがとうございました。

関連するQ&A