最近SDKはじめました。
SDKとはWin32SDK(Win32SoftwereDevelopmentKits)の略で、SDKでプログラムを組むというのは、数あるAPI関数を1つ1つ組み合わせていって1つのアプリケーションを作っていくということらしいです。
MFCやVBも結局はこの関数群がある程度まとめてあって、製作者に作りやすい環境を提供しているものらしいです。
SDKの勉強をするということはそれらの基礎を学ぶということで、非常に重要らしいようです。

ただ、このSDK、ものすごくとっつきにくいので、いつ挫折をあじわってしまうかがこのHPの管理人にとって不安な部分でもあります。
とりあえず、少しだけいじくってみただけなのでこんなことをいうのはまだ早いかもしれませんが、今まで、プログラムでは色々遠回りをしてしまいました(HSPやらMFCやらVBやらと振り回されました。無駄ではなかったのですが)が、やっと本当に勉強したかったものに出会えた感じがします。
めちゃくちゃ難しいけどまあいつまで管理人の気力が続くことやら・・・。


(03/05/20)
ここのところ燃え尽きてました・・・。
ひさびさにPGいじくった感じです。
今回は透過処理をやってみました。
AND+OR演算で透過処理を行うようです。
HSPとwindowsSDKで透過処理をした場合を比較してみました。



HSPとくらべたら、わりかしぎざぎざが目立たなくなったようなきがしますな。

(03/05/12)
最近プログラム進行日記のほうに書いちゃってるな。(汗
ここのところ画像描画で詰まってました。
デバイスコンテキストとメモリデバイスコンテキスト。この違いが良くわからなかったし、動作の内部的な動きがイメージとして把握できなかったので詰まってました。
色々考えて、自分なりに図にしてみました。↓

汚い図ですね(汗
この図はバックバッファ作成時の内部構造の動きをイメージとして捉えたものです。(自分の解釈したイメージなので、もしかしたら間違ってるかもしれません)バックバッファを使うと、連続描画の際のちらつきを押さえることができます。
バックバッファを使わないと、描画の際の消す→描画→消す→描画の過程がダイレクトにディスプレイに表示されてしまうためにちらつきます。バックバッファを使うと、画面に表示されない場所でいろいろ作業をした後主画面に貼りつけることになり、途中の消す→描画の過程がディスプレイに表示されなくなり、滑らかに見えるようになります。
では、そろそろこの図を解説します。まず一番右の四角に書いてあるhdcはデバイスコンテキストです。
そしてその隣の二つがメモリデバイスコンテキストです。
hdc(デバイスコンテキスト)は私たちが見ているディスプレイ画面です。すなわちここに描画された絵は直ちにディスプレイに表示されるわけです。
メモリデバイスコンテキストとは仮想画面です。メモリデバイスコンテキスト作成時には1×1のモノクロビットマップが描画されてるそうです。

ではここで仮想画面がなぜ二つ必要なのか?
それは、一つはBMP画像のイメージ読みこみ用。そしてもう一つは作業用です。ここでいう作業用とは、hdc(主画面)の用に自由に扱える領域です。つまりこれがバックバッファになります。
流れとしてはイメージ読みこみ用にBMPを読みこみ、作業用の領域にぺたぺたとBMPを貼りつけていく感じでしょうか。
以上がバックバッファの内部動作(個人的解釈)でした。

(03/05/04)
ここの所プログラムのほうの更新が遅れてましたが、ひたすら本を読むという感じだったので、なかなか実技ほうはできませんでした。ひさびさにプログラムを組んでみるものの、ちょっと戸惑い気味に。読むのと組むのは違うもんだなと実感した。
で、今回できあがったものはこれです。
四角い箱がキーボードの↑→←↓キーで動くというものです。HSPだとわりかし楽にできるんですがwindowsプログラミングで実現するのは慣れるまで相当難しいな。と思いました。

実行ファイルはこれです→箱を動かすプログラム


(03/4/24)
SDKの勉強にあたって、参考にさせてもらっているページ→猫でもわかるプログラミング
参考書は、今紹介したページの管理人の方が書いてくださっている猫でもわかるwindowsプログラミングです。

とりあえず本を参考に勉強してできたもの→GO
なにこのプログラム。めちゃ単純じゃん。こんなの誰にでもできるんじゃないの!?と思うかもしれませんがとりあえずソースを載せます。
ソース
もうはじめてみたときはわけわからずうんざりしました。
細部を突き詰めていくというよりは、全体を見るようにするのがコツらしいです・・・。

メニューの勉強
実行ファイル→GO


過去の産物
  CGIとJAVASCRIPTを利用した受注システムらしきもの→GO