ComboBoxで既に値が選択されている状態で、リスト選択の画面を出しDelキーを押すと,TEXTの選択していた値はクリアーされますが、ItemIndexが-1になってくれません。
リスト選択の画面をだしていない時は、問題なくItemIndexに-1がセットされているようですが。。
OnKeyDownイベントでDelキーの場合にItemIndex=-1にセットしてみましたが、Exitすると元の値に戻ります。
何かい良い方法はありますか?
OnCloseUpイベントでセットしたらどうですか?
ってこのイベント、どのバージョンから追加されたんだ??
リスト選択画面が出ていない時は問題ないとのことですので、
一度リストを閉じてみればいいのではないでしょうか?
仕様次第ですが。
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_DELETE) then
begin
ComboBox1.DroppedDown := False;
ComboBox1.ItemIndex := -1;
end;
end;
monaaさん、tonoさんありがとうございます。
一度リストを閉じる方法で解決しました。
アプリの仕様としては、DelphiのIDEのプロパティーを選択するのと同様で
TEXT域は入力可能ですがリスト中の値に一致していないとエラーです。
ただ、入力は任意です。
早々にアドバイス頂き、本当に助かりました。ありがとうございます。
ツイート | ![]() |