C++Builder/Delphiの色設定をUniSynEditに反映させる

UniSynEditのTSynCppSynは、C++BuilderIDEの色設定をレジストリから取得して、その設定をUniSynEditに反映できる。ただ、残念ながらBDS2006以降に対応していないので、BDS2006以降に対応したつもり。 修正したソースは、http://a7m.sakura.ne.jp/SOURCE/UniSynEdit/SynHighlighterCpp.pas。オリジナルのSynHighlighterCpp.pasと差し替えて、コンポーネントを再ビルドすれば反映されるはず。
結果やバグ等については、当然、無保証。てか、ろくにテストしていないwww

IDEの色設定を反映させる方法は以下の通り。

  1. TSynCppSynをフォームに貼り付ける。
  2. TSynEditかTSynMemoのHighlighterをTSynCppSynにする。
  3. 関数TSynCppSyn::EnumUserSettingsでC++BuilderとRAD Studioの色設定一覧を取得。
  4. TStringsにインストールされているC++Builder/RAD Studioのバージョン番号が帰ってくるので、そのインデックスをTSynCppSyn::UseUserSettingsに渡す。

ちなみに、TSynPasSynはDelphiの設定を拾ってくれる。