• ベストアンサー

PictureBoxにPSetしてそれをImageへ

 VBに関して経験の浅い者です。 今、タイトル通り、ピクチャーボックスオブジェクト(名前はPict1とする)に、 Pict1.PSet(i,j),color(適当な数) と言うコードを実行していって描画し、 画像を作ったとします。  それで、Pict1にそうして描いて表示されている画像を イメージオブジェクト(名前はImageとする)に送って表示させたいのですが、 方法が分かりません。  Image.[何か]=Pict1.[ナンか]とすれば良さそうだと言う検討を立ててみたの ですが、こんな風にプロパティの色々で解決できますでしょうか?  あと、イメージオブジェクトの説明に、「「AutoRedraw」を有効にしておくと フォームやピクチャーボックスが変更された時にそれが即複写される」とあったの ですが、例えば上のPict1の描写を反映させるにはどうすればいいのでしょう?  Imageに入力する以上はAutoRedrawのターゲット(?に相当する概念)を設定する 必要があると思うのですが、、、

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

  • ベストアンサー
  • dinowave
  • ベストアンサー率48% (20/41)
回答No.1

Image.Picture=Pict1.Image にして、Pict1のオブジェクトの「AutoRedraw」 をTrueにすればできますよ♪

help
質問者

お礼

早速でスマートなお答えありがとうございます。早速試してみます

その他の回答 (1)

  • Tattoko
  • ベストアンサー率17% (3/17)
回答No.2

 PSetメソッドを実行するより前に、まずPictureBoxのAutoRedrawをTrueにしておけばOKです。  AutoRedrawがFalseの状態では、PSetを実行した後にそのPictureBoxが他のウィンドウの裏に隠れたりするだけで画像が消えます。いったん描かれるだけで記憶されていないんです。よって、Imageプロパティは元のままになってしまいます。  とにかく、デザイン時にPict1のAutoRedrawをTrueにしておけば、   Image.Picture = Pict1.Image でできます。

help
質問者

お礼

なるほど、もう一つコツがあるわけですね。ありがとうございます。

関連するQ&A