CEditDoc::ExpandParameterに以下のような条件分岐構文を導入してみました。
${条件?文1$:文2$:文3$}
条件は短い文字列で、プログラムで定義します。条件の評価によって後ろにある文のうちのいずれかが評価されます。たとえば ${U?更新$} とすると、ファイルが更新されている場合のみ更新という文字列に置き換えるといった具合です。
ウィンドウキャプションのカスタマイズにExpandParameterを使いたいと思ったのですが、更新や読みとり専用の状態に応じて文字列を変更する必要があります。単純に条件と文字列のマッピングを固定して$xとして定義するよりも文字列を指定できた方が柔軟性が高いと思い、このようなものを考えてみました。
分岐自体は既に作成済みですが、現在のキャプションと同程度のことができるようにするためにバージョン情報、省略ファイル名の取得、Grep文字列の取得あたりを新規に追加する必要がありますので、まだもう少しかかりそうです。
ところで、${と$[と迷ったのですが$[の方がいいですかねぇ。