投稿日 | : 2002/09/15(Sun) 15:09 |
投稿者 | : よねKEN |
Eメール | : |
URL | : http://www5b.biglobe.ne.jp/~yone-ken/ |
タイトル | : Re^6: ピクチャボックスの内容が保存できない |
> > > SavePicture Picture1, CommonDialog1.FileName これだったらエラーが
> > > 発生して止まるはずだが?
> >
> > この記述そのものは文法にも則った正しい書き方です。
>
> そうなのですか?
SavePictureステートメントのヘルプには、
第一引数にはPictureプロパティ、Imageプロパティを指定できるとあります。(両方ともIPictureDisp型)
元質問には、bmpファイルを読み込んでいるともかかれていますので、
Pictureプロパティは設定されているので、エラーにはならず設定したbmpが保存されるだけですね。
> ただし、Picture Box に画像を読み込んでいないとエラーとなります。
>
> SavePicture Picture1.Image, CommonDialog1.FileName
> こちらの場合はエラーが発生しません。
Debug.Print Picture1.Image.Handle
Debug.Print Picture1.Picture.Handle
を実行するとわかりますが、
Pictureプロパティは未設定時はGDIハンドルが割り当てられていないのでエラーになります。
Imageプロパティは最初から割り当てられています。
Imageプロパティの方に関してはヘルプの以下の部分でこのことが明記されていますね。
||Image プロパティの値は、AutoRedraw プロパティの設定とは関係なく存在します。
||AutoRedraw プロパティが真 (True) に設定されていて、描画されたグラフィックスが存在しない場合は、
||BackColor プロパティで設定された色とピクチャだけが表示されます。