- PR -

VC6.0でピクチャ領域に画像表示

1
投稿者投稿内容
Rocky
会議室デビュー日: 2006/12/10
投稿数: 14
投稿日時: 2007-06-19 19:27
VC6.0でFORMにボタンを2つ配置します。
ボタン1をクリックすると「pic1.jpg」という画像ファイルをFORMに表示します。
ボタン2をクリックすると「pic2.jpg」という画像ファイルをFORMに表示します。
この動作はRenderを利用して、http://www.athomejp.com/goldfish/mfc/cobject/jpegview.aspを参考にして
できました。

(ボタン1をクリック後にボタン2をクリックすると
 ボタン1で表示した画像を消すという方法がわからず、画像が2つ表示
 されてしまいますが)


今度はこの動作で表示領域をFORMでなくピクチャ領域に表示したいの
ですが、その場合はどのようにしたら良いのでしょう?




Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2007-06-20 08:48
VC++6.0のMFCですね。
MFCの場合Formではなくダイアログというのが一般的です。

リンク先のOnPaintで描画する対象が
>CPaintDC dc(this);
>this->GetClientRect( &rc);
よりダイアログ自身になっているので、そこを変えてあげればいいのではないでしょうかね。

ピクチャーコントロールにコントロールIDを付けて(例としてIDC_PICT1)
GetDlgItemでそのコントロールを取得すればできそう。

コード:

CWnd* pPic = this->GetDlgItem(IDC_PICT1);
CPaintDC dc(pPic);

// クライアント領域を取得
RECT rc;
pPic->GetClientRect(&rc);



[ メッセージ編集済み 編集者: Blue 編集日時 2007-06-20 08:49 ]
1

スキルアップ/キャリアアップ(JOB@IT)