Viewについて

[戻る]
オリーブ 2003/12/08(月) 18:23:42
初めて書きます。
超初心者なので、よろしくお願いします。
以下のプログラムを別なプログラムで再構築したいのですが、
どのようにしたらいいでしょうか?ぜんぜんわからなくて…教えてください。
こんな質問ですみません。。。
void CG3View::OnDraw(CDC* pDC)
{
    
CBitmap Bitmap, *pOldBitmap;
CDC MemDC;   
int x, y;
CRect rect;

Bitmap.LoadBitmap(IDB_SAMPLEBMP);    
MemDC.CreateCompatibleDC(pDC);
pOldBitmap = MemDC.SelectObject(&Bitmap);   
GetClientRect(&rect);  
for (y = 0; y < rect.bottom; y += 80) {   
for (x = 0; x < rect.right; x += 336) {   
pDC->BitBlt(x, y, 336, 80, &MemDC, 0, 0, SRCCOPY);
}
}
MemDC.SelectObject(pOldBitmap);

}

ひろぴー 2003/12/08(月) 18:28:31
別なプログラムのOnDraw()にコピペすればよいのではないでしょうか?
IDB_SAMPLEBMPのコピペも忘れずに。

オリーブ 2003/12/08(月) 18:37:22
お返事ありがとうございます。
ちょっと質問の仕方が悪かったようです(>_<)
上のプログラムで出てくる結果(画像の繰り返し?)と同じ結果
が出るようにするには、どこを変えたらいいでしょうか?違うプログラムで
上と同じことをやりたいんです。
すみません、質問下手で…。

ひろぴー 2003/12/08(月) 18:54:06
> 上のプログラムで出てくる結果(画像の繰り返し?)と同じ結果
> が出るようにするには、どこを変えたらいいでしょうか?違うプログラムで
> 上と同じことをやりたいんです。

コピペで同じ結果にならないですか?あれ?

寸分違わぬということでしたら、クライアント領域を同じサイズにする事くらいでしょうか?
そういう意味じゃないのかな(ToT)

オリーブさんが仰る『同じ結果』をもっと具体的に教えて下さいませ。

オリーブ 2003/12/08(月) 19:05:09
はっきり言っちゃいますと、ある画像を繰り返し表示させたいのですが、
どのようなプログラムを作っていいか、全くわからないんです(T_T)
んで、上のプログラムをヒントにもらったのですが、それでも
全然わからなくて…いろいろなところを少しずつ変えてみたりしたのですが、
エラーがたくさん出てきちゃって、実行すらできないというところです。
ちなみに上のプログラムを実行させると、ちゃんと画面いっぱいに同じ画像が
たくさん表示されています。
ほんと、ど素人なもので…

ひろぴー 2003/12/08(月) 19:15:55
> んで、上のプログラムをヒントにもらったのですが、それでも
> 全然わからなくて…

ヒントではなく、解答のような気が...(^^;)


> ちなみに上のプログラムを実行させると、ちゃんと画面いっぱいに同じ画像が
> たくさん表示されています。

はい、そうだと思います。
ウィンドウのサイズを下に伸ばしたりすると、表示される個数が増えたりしますよね。

ソースやエラーなどを提示して頂かないと、なんとも分かりませんね(ToT)
CView等、OnDraw()メンバ関数があるクラスから派生していますか?

オリーブ 2003/12/08(月) 19:38:55
おそらくしていると思うんですが…
ごめんなさい、実はC++どころかC言語もはっきりわかっていない状態なんです。。
おそらく、エラーになったのも「上のプログラムにしてください」って意味なのかも…
とりあえず、エラーになったプログラムを載せます。なんだ、こいつ全然わかってないじゃん
って思わないでください(>_<)ほんとそのとおりですから…(-_-;)

そう思って載せようとしたら、なんと、たった今エラーを全部消すことができました(^o^)/
いろいろアドバイスしていただき、どうもありがとうございました☆

古いスレッドには追加発言できません。