|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сохранение Ctrl-V и т.п. при ограничениях ввода в TEdit
На форме есть поля TEdit, для которых сделан ограничитель ввода знаков типа:
Код:
procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: Char); begin if NOT (Key in ['0'..'9', ',', #8, '-']) then Key:=#0; end; При этом перестали реботать "служебные" комбинации клавиш "копировать-вырезать-вставить" Ctrl-C-X-V соответственно, (но продолжают работать комбинации Ctrl-Ins, Ctrl-Del, Shift-Ins). Как сохранить первую группу служебных комбинаций? |
#2
|
||||
|
||||
Отслеживай нажат ли Ctrl, например так:
Код:
var IsCtrl: Boolean; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not IsCtrl then if NOT (Key in ['0'..'9', ',', #8, '-']) then Key:=#0; end; procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if ssCtrl in Shift then IsCtrl:= True; end; procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin IsCtrl:= False; end; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#3
|
|||
|
|||
Спасибо!
Все работает! Воспользуюсь. |