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;