TComboBoxでリスト選択中にDelキーを押したとき

解決


まさ  2009-10-13 23:20:19  No: 35877

ComboBoxで既に値が選択されている状態で、リスト選択の画面を出しDelキーを押すと,TEXTの選択していた値はクリアーされますが、ItemIndexが-1になってくれません。

リスト選択の画面をだしていない時は、問題なくItemIndexに-1がセットされているようですが。。

OnKeyDownイベントでDelキーの場合にItemIndex=-1にセットしてみましたが、Exitすると元の値に戻ります。

何かい良い方法はありますか?


monaa  2009-10-14 04:55:19  No: 35878

OnCloseUpイベントでセットしたらどうですか?
ってこのイベント、どのバージョンから追加されたんだ??


tono  2009-10-14 08:54:34  No: 35879

リスト選択画面が出ていない時は問題ないとのことですので、
一度リストを閉じてみればいいのではないでしょうか?
仕様次第ですが。

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;


まさ  2009-10-14 18:52:10  No: 35880

monaaさん、tonoさんありがとうございます。

一度リストを閉じる方法で解決しました。

アプリの仕様としては、DelphiのIDEのプロパティーを選択するのと同様で
TEXT域は入力可能ですがリスト中の値に一致していないとエラーです。
ただ、入力は任意です。

早々にアドバイス頂き、本当に助かりました。ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加