いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

DevExpress奮闘記-071 (XtraTabControl, ページヘッダーにプログレスバーを表示, SkinTabPainter, SkinViewInfoRegistrator)


XtraTabControlのページヘッダー部分に進捗状況を表示する
サンプルが上がっていたのでメモメモ。


以前自分で作成した際は、結構ゴリゴリやって実現していたのですが
もっとスマートにする方法があったんですね〜。


基本的な流れは以下のようになります。

  1. XtraTabPageクラスの派生クラスを作成し、パーセントを保持するようにプロパティ追加
  2. SkinTabPainterクラスの派生クラスを作成し、描画処理を実装
  3. SkinViewInfoRegistratorクラスの派生クラスを作成し、2.で作成したPainterを返すように作成
  4. 実際の処理(Formなど)で、PaintStyleCollectionに3.で作成したRegistratorを追加
  5. XtraTabControlのPaintStyleNameをカスタムのものに設定。


手順は多いですが、全体的なコード量は多くありません。
この手順は、ほかのコントロールにも流用がききますので、覚えておくと便利です。



================================
過去の記事については、以下のページからご参照下さい。