.net.FrameWorkに移ってからWin.APIから遠ざかると、知識が消滅していきます。
Windows.Controlに描画するのはContext経由でリソース取得して描画して開放してなどややこしてことをしてたナァと思いでに耽る....てな話ではなく。
旧システム(VB6)からのリメークの案件があり、その仕様では、TextBoxをシングルラインで用いる時とマルチラインで用いる時を動的に切り分けてました。
TextBoxの性格はSingleLine/MultiLineのクラス属性はコントロール生成後は変更が出来ません。CreateObjectの時のLparam/Wparam のClass属性で決まるものです。(だったと思います。)
それ故に、VB6等では textbox1.Multiline.property はReadonlyで変更は不可になってます。
一方、.netは 変更が可能で、動的にMulitilineの切り替えが可能です。
非.netシステムでは画面上のコントロールの管理に、Windows.Handleを用いていました。
.netアプリでもhandleは使えるので、コントロールの識別にHandleを使えばいいやと安易に考えてましたら、落とし穴がありました。
システムがおかしな動きをする。TextBoxの行モードを変える度に管理するコントロールが増えていく。?????
行ModeはCreateObjectでしか設定できないので、FrameWorkは行モードの切り替えの都度TextBoxを再作成しているんですね。
考えればそうするしか手はなかったのは理解できますが、Handleでの管理は不可になったということですね。
ハンドルもコンテキストもレガシーなのて使うなということかな?