C++Builder/Delphiの色設定をUniSynEditに反映させる
UniSynEditのTSynCppSynは、C++BuilderのIDEの色設定をレジストリから取得して、その設定をUniSynEditに反映できる。ただ、残念ながらBDS2006以降に対応していないので、BDS2006以降に対応したつもり。
修正したソースは、http://a7m.sakura.ne.jp/SOURCE/UniSynEdit/SynHighlighterCpp.pas。オリジナルのSynHighlighterCpp.pasと差し替えて、コンポーネントを再ビルドすれば反映されるはず。
結果やバグ等については、当然、無保証。てか、ろくにテストしていないwww
IDEの色設定を反映させる方法は以下の通り。
- TSynCppSynをフォームに貼り付ける。
- TSynEditかTSynMemoのHighlighterをTSynCppSynにする。
- 関数TSynCppSyn::EnumUserSettingsでC++BuilderとRAD Studioの色設定一覧を取得。
- TStringsにインストールされているC++Builder/RAD Studioのバージョン番号が帰ってくるので、そのインデックスをTSynCppSyn::UseUserSettingsに渡す。
ちなみに、TSynPasSynはDelphiの設定を拾ってくれる。