初めて書きます。
超初心者なので、よろしくお願いします。
以下のプログラムを別なプログラムで再構築したいのですが、
どのようにしたらいいでしょうか?ぜんぜんわからなくて…教えてください。
こんな質問ですみません。。。
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);
}
別なプログラムのOnDraw()にコピペすればよいのではないでしょうか?
IDB_SAMPLEBMPのコピペも忘れずに。
お返事ありがとうございます。
ちょっと質問の仕方が悪かったようです(>_<)
上のプログラムで出てくる結果(画像の繰り返し?)と同じ結果
が出るようにするには、どこを変えたらいいでしょうか?違うプログラムで
上と同じことをやりたいんです。
すみません、質問下手で…。
> 上のプログラムで出てくる結果(画像の繰り返し?)と同じ結果
> が出るようにするには、どこを変えたらいいでしょうか?違うプログラムで
> 上と同じことをやりたいんです。
コピペで同じ結果にならないですか?あれ?
寸分違わぬということでしたら、クライアント領域を同じサイズにする事くらいでしょうか?
そういう意味じゃないのかな(ToT)
オリーブさんが仰る『同じ結果』をもっと具体的に教えて下さいませ。
はっきり言っちゃいますと、ある画像を繰り返し表示させたいのですが、
どのようなプログラムを作っていいか、全くわからないんです(T_T)
んで、上のプログラムをヒントにもらったのですが、それでも
全然わからなくて…いろいろなところを少しずつ変えてみたりしたのですが、
エラーがたくさん出てきちゃって、実行すらできないというところです。
ちなみに上のプログラムを実行させると、ちゃんと画面いっぱいに同じ画像が
たくさん表示されています。
ほんと、ど素人なもので…
> んで、上のプログラムをヒントにもらったのですが、それでも
> 全然わからなくて…
ヒントではなく、解答のような気が...(^^;)
> ちなみに上のプログラムを実行させると、ちゃんと画面いっぱいに同じ画像が
> たくさん表示されています。
はい、そうだと思います。
ウィンドウのサイズを下に伸ばしたりすると、表示される個数が増えたりしますよね。
ソースやエラーなどを提示して頂かないと、なんとも分かりませんね(ToT)
CView等、OnDraw()メンバ関数があるクラスから派生していますか?
おそらくしていると思うんですが…
ごめんなさい、実はC++どころかC言語もはっきりわかっていない状態なんです。。
おそらく、エラーになったのも「上のプログラムにしてください」って意味なのかも…
とりあえず、エラーになったプログラムを載せます。なんだ、こいつ全然わかってないじゃん
って思わないでください(>_<)ほんとそのとおりですから…(-_-;)
そう思って載せようとしたら、なんと、たった今エラーを全部消すことができました(^o^)/
いろいろアドバイスしていただき、どうもありがとうございました☆