http://www.microsoft.com/japan/developer/winds/Sdk/Samples/SDKSample04.htm
で紹介されている画面のコピーをとり、
そのコピーした画像を拡大するにはどのようにすればよいでしょうか?
ご存知の方がおられましたら、コメントください。
開発環境はWindowsXP, VC++6.0 です。
よろしくお願いします。
WinProc関数内のメッセージWM_PAINT以下に書いてあるStretchBlt関数の引数を変えるとよい
と思います。~0, 0, cxClient, cyClient,hdcMem,0,0,bm.bmWidth, bm.bmHeight,~の部分
を適当に変えてみてください。~0,0,640,480,hdcMem,160,120,320,240~というふうに。この
場合は単純に4*4倍になりますね。もちろんのことですけど、初期状態ではdraw_mode =
IDM_BITBLTとなっているようで、StretchBlt関数ではなく、BitBlt関数が呼び出されるみたい
なので、自分でStretchBlt関数を呼び出すようにしましょうね。ちなみにこのソースコード、
パラッとしか見ていないので、間違っているかもしれません・・私が。
サスライの旅人さん
お返事どうもありがとうございます。
さっそく試してみました。
拡大には、見事に成功しました。
私は、初心者で、あのサンプルプログラムのひとつひとつのコードが
どのような役割をしているのか理解することができません。
いったいどのように学習していけば理解できるようになるのでしょうか?
MSDNライブラリの説明を見ても言っていることがよくわかりません。
サスライの旅人さんはどのようにして知識を深めましたか?
もしよろしければ、参考までに教えていただけないでしょうか?
どのくらいの知識が太郎さんには御ありなのですか?具体意的に教えてくだされば、お勧めの本
をいくつか提示したいと思います。あと、どのようなプログラムを作りたいかも教えてくださ
い。私は独学で中学一年からずっとプログラミングを趣味としてやってきました。今は大学一年
です。
どのくらいの知識かといいますと、無知に近いです。
新VisualC++6.0入門[スーパービギナー編]林晴比古著(ソフトバンクパブリッシング株式
会社)、同じくビギナー編を参考に勉強しました。
しかし、これに載っていないクラスなどの使い方や
どのような処理をするかが理解できないのです。
私は、現在大学4年で卒研でプログラミングをしています。
作りたいプログラムは、「マウスの周辺を拡大表示するプログラム」です。
私は、視覚障害があり、画面が見づらいので、現在は市販のソフトを使用しています。
そこで、このようなソフト開発したいと思っています。
以上です。参考にできそうなものがありましたら、ぜひ紹介していただきたいと思いま
す。よろしくお願いします。
実際にサンプルソースがあるのであれば、
そのクラスやメンバー函数の説明をHELPなり、
リファレンス本なりで調べて一つ一つ理解していくしかないと思います。
あとは、Windows上でMFCを使った場合にどんな流れで処理していくのかの
典型的な例をサンプル込みで示しているような参考書を探すとかですね。
ちなみにネット上でも結構詳しく説明しているページがあるので
探してみてはどうでしょうか?
結局の話、一足飛びに理解するなんて事は出来ません。
一つ一つ積み上げていくしかないです。
あと、MFCを使われていてC++言語の勉強をしたことが無いなら
C++言語の勉強もしたほうが良いですよ。
VC++の入門書にC++言語で必要な知識が全て入っているわけではないです。
断片的にはあるかもしれませんけれど。
C++言語の勉強はC++言語の入門書でしないと駄目です。
失礼、MFCを使っているとも使っていないとも書いていないですね。
>あとは、Windows上でMFCを使った場合にどんな流れで処理していくのかの
あとは、Windows上でVCを使った場合にどんな流れで処理していくのかの
にしておきます。
SDKとMFC使用の場合ではかなりコードの様子が違いますので
どちらでやっているか提示した方が良いです。
あと、MSDN(help)の中の用語が良くわからないならさらにそこをさかのぼって
調べていくか、Windowの仕組みについて書いてある本を読んでみるとか、
言語の関する本を読んでみるとかして語彙を増やすしかないですね。
PATIOさん、どうもありがとうございます。
VD++の参考書にもC++の知識は必要であるとあったので、
C++の本も買いました。
関数や引数、クラスなど頭の中が混乱します。
もちろん、すぐに理解できないことは承知しています。
たくさんのヒントをいただきどうもありがとうございます。
もっともっと勉強します。
Windowsのプログラムを組む特はMFCを先に勉強するよりもSDKの方がトッツキ安いと思います。
「マウスの周辺を拡大表示するプログラム」を作るのにあえてMFCで作ろうとすると、困難にな
ると私は思います。そこで!お勧めの本を二冊選びました。
①Visual C++ プログラミングへのアプローチ Win32 API 完璧マスタ(CQ出版)
②Windowsゲームプログラミング(SoftBank)
①は、SDKでアプリケーションを組むときに、大いに活用できると思います。本の最後の方に主
要Win32API一覧がありますし。②はゲームプログラミングと本名に書いてありますが、拡大す
る時のグラフィックの参考になると思います。その他使えるテクニックなど書いてありますよ。
この二冊は、分かりやすく、C++の知識なくともC言語の知識があれば、容易に理解できると思
います。それに、、「マウスの周辺を拡大表示するプログラム」を作るにあたり、この二冊をマ
スターすれば、作ることも可能だと思いますよ~。
では、私はサスライの旅人、どこか遠くのおとぎ話の国にでも旅立ちたいと思います。
太郎さんがんばってくださいね。
サスライの旅人さん
ご丁寧に説明していただきどうもありがとうございます。
MFCは便利な反面、理解がむずかしいようですね。
ご紹介してくださった本を探してみます。
それでは、また旅の中でお会いできることを楽しみにしています。