質問: 大規模な業務系のデスクトップアプリを作成しています、開発はMFC、VC++、Win32といった古い技術を使用しています。 気になっているのはUIで、内部処理は旧資産を活用し、UIなどの見た目をモダンなフラットデザインにし現代的なWindowsアプリに近づけたいと思います。 UIを刷新する上で、何がよい選択肢なのでしょうか? 自分が考えているは、UIはWPFで開発(C#)、内部処理はVC++,C++/CLI,MFCなどの旧資産を活かせる開発
回答: 範囲が広すぎるかもしれません。 やや答えづらいのですが、何かの参考になるかもしれないので、限定的なケースでの説明をしてみます。 また、ハイブリッドな構成ではなくMFCで作成されている場合で、それをカスタマイズするケースのみに限定させてもらいます。 (1)CWinAPPの派生クラスを使用している場合。 CWinAppExクラスを使用する様に変更します。 (2)CMDIFrameWndの派生クラスを使用している場合。 同様にCMDIFrameWndExを使用します。 以上の作業はMFCアプリケーションウィザードで雛型を作って既存の機能を実装する方が良いと考えられます。 (3)コモンコントロールを使用していない場合 InitCommonControlsEx()を使用して新しいコモンコントロールを使用することを指定します。 自分はICC_WIN95_CLASSESを指定していますが、 Windows10上では自動的にフラットなデザインになります。 (4)メッセージボックスMessageBox()をタスクダイアログ=CTaskDialogに変更する。 メッセージボックスが陳腐に感じる場合に試してみる価値があります。 既に、ここまでやってしまっている場合には、ハイブリッドを検討する段階にあるかもしれません。