VB6 の AutoRedraw
こういう話は,プログラミングをやっている人以外はあまり関心が無いと思います.正直,地質とはほとんど直接の関係が無い...ただ,私自身,プログラミングの際,色々なところのブログの記述に助けられていることは多いので,少しでも恩返しになれば,と.
AutoRedraw というのは,例えば描画領域に何かを描画した際,必要なときにその内容が自動的に再描画される仕組みです.
もしこの機能が無いと...描画ウィンドウが別のウィンドウの下に隠れた時その内容が消えてしまう,描画中にデスクトップのリフレッシュがかかると内容が消えてしまう,ウィンドウを最小化して復元すると内容が消えている...などということが普通に起こります.
そんなソフト,世の中にないべさ?!と思われるかもしれませんが,それはそういう措置をプログラムがあらかじめ講じているからであって,『WINDOWSはそんな風にできているもの』ではないんですね.
で,VB6 ではこの点を,例えば描画ボックスの属性(プロパティ)として持っていて,それをオンにしてやるだけで一発で実現できてました.あまりに便利でそれが当たり前になっていたんですね.それが,VB.net 以降の VB ではなくなってしまったんです.(@_@)
Microsoftの開発サイトを覗くと,『VB.net以降では,その機能は必要が無くなったので廃止されました』と平然と書いてあります.そんなぁ.はっきり言って腹が立ちます.しかし腹を立てているだけでは前に進めないので,VB.net 以降(私の場合 VB2008)ではどうすればよいのかを,国内海外のサイトを参考にして調査を行いました.
以下,続く.
2015/02/25 11:38:43