読者です 読者をやめる 読者になる 読者になる

拡張ウィンドウメモリ.cbWndExtraの使い方

もし、.cbWndExtraに値を設定すると…各ウィンドウに対してOSが暗黙に確保した構造体を、拡張出来る…らしい。

つまり…、.cbWndExtraの数値の分だけ、構造体のサイズを余分に増やす事…が、出来る。

コレを拡張ウィンドウメモリ…と、言う。

コノ構造体は、本来ならば…、「ウィンドウプロシージャのアドレス等」が、入っている。基本的に、中身は…「GetWindowLong()で、参照出来る類の情報」だ。

もし、コノ構造体に、「追加の空き領域(拡張ウィンドウメモリ)」を、くっつけると…、プログラマは好きなデータを置いておく…なんて事が出来るそうな。

問題は、コノ「見えないハズの領域」に、如何にしてアクセスするか?…なのだが…。

ソノ答えは…、なんと!GetWindowLong()を使う事…なのである。

実は、第二引数は…、「long型配列の添字」と、同等の機能を持っていた…のである。

「そんなバカな!?」って、GetWindowLong()を使い慣らした人なら、思うかもしれない…。

つまり、「コレって、ウィンドウの情報を得る関数でしょ?」と。

だが、「関数名が、そのまんま」…である。

私も、初めて知った…。「灯台もと暗し」だな…と。