コントロールがオーナー描画であることを示す
コントロールの利用:インデックス への移動
コントロールの描画をカスタマイズするには,ペイントすべきときにコントロールのイメージを描画するイベントハンドラを追加しなければなりません。こうしたイベントを自動的に受け取るコントロールがいくつかあります。たとえば,リストビュー,ツリービュー,ツールバーの場合,プログラマがプロパティをまったく設定しなくても,描画プロセスのさまざまな段階でイベントを受け取ります。受け取るイベントの名前は,OnCustomDraw,OnAdvancedCustomDraw などです。
このほかのコントロールについては,あらかじめプロパティを設定しておかないと,オーナー描画イベントを受け取れません。リストボックス,コンボボックス,ヘッダーコントロール,およびステータスバーには,Style プロパティがあります。Style は,コントロールをデフォルト描画(Standard スタイル)とするかオーナー描画(OwnerDraw スタイル)とするかを指定します。グリッドは DefaultDrawing というプロパティを使用して,デフォルト描画を有効または無効にします。リストビューとタブコントロールには,OwnerDraw プロパティがあります。OwnerDraw プロパティもデフォルト描画を有効または無効にします。
リストボックスやコンボボックスのオーナー描画スタイルには,次の表に示すように固定(Fixed)スタイルと可変(Variable)スタイルがあります。また,ほかのコントロールは常に固定スタイルです。テキストを含む項目のサイズは可変にできますが,コントロールを描画する前の各項目のサイズは固定です。
固定と可変のオーナー描画スタイル :
オーナー描画スタイル | 意味 | サンプル |
---|---|---|
固定 |
各項目は ItemHeight プロパティの指定する共通の高さになる |
lbOwnerDrawFixed,csOwnerDrawFixed |
可変 |
各項目は実行時のデータに応じて高さが変わる |
lbOwnerDrawVariable, csOwnerDrawVariable |