VB では既存のコントロールの機能拡張が言語仕様の枠組みではできないから、
ウィンドウプロシージャの挿げ替えという方法論で対応していた。

VCL のコントロールや MFC のクラスだと、メッセージに対応するメソッドが定義/用意
されているため、Delphi または C++ の言語仕様の枠組みの範囲内で動作をカスタマイズできる。
内部的にやっていることはウィンドウプロシージャの挿げ替えなので、サブクラス化しているのは事実。

けど、クラスライブラリでわざわざ提供されているメカニズムを使わないこともあるまい?

とっととクラスを継承しなさい。