TcxComboBox にボタンを追加する

TcxButtonEditでドロップダウンリストを表示出来ないか探してて見つけた方法。
TcxButtonEditでドロップダウンリストを出すのは方法は判らなかったけど、TcxComboBoxにボタンを追加する方法をみつけたのでまとめておく。
サポートのサンプルはこちら

正確には、TcxCustomEditPropertiesを継承するコントロール類なのでほぼ全てのEdit系で使えると思う。
もちろんcxGridのCell編集用のEditでも使えます。

いつのバージョンからか不明ですが、TcxCustomEditPropertiesのButtonsプロパティがpublicになってるのでサポートのサンプルみたいにTcxCustomEditPropertiesAccessみたいなトリックを使わなくても良くなってる模様。

procedure TForm1.FormCreate(Sender: TObject);
var
  Btn: TcxEditButton;
begin
  Btn := cxComboBox1.Properties.Buttons.Add;
  Btn.Kind := bkEllipsis;
  Btn.Default := False;

  Btn := cxComboBox1.Properties.Buttons.Add;
  Btn.Kind := bkGlyph;
  Btn.Default := False;
  Btn.Glyph.LoadFromFile('tick_16.bmp');

  cxComboBox1.Properties.OnButtonClick := OnBtnClick;
end;

procedure TForm1.OnBtnClick(Sender: TObject; AButtonIndex: Integer);
begin
  case AButtonIndex of
  1: ShowMessage('詳細');
  2: ShowMessage('チェック');
  end;
end;