![]() |
|
#1
|
|||
|
|||
![]() Доброе время суток, господа. Создаю форму кидаю эдиты.....суть такова: надо чтобы в эдиты записывались комбинации клавиш нажатые в поле......думал думал.....обработал событие OnKeyDown...вот код:
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var s: string; begin if (not (Sender is TLabeledEdit)) or ((Sender is TEdit) and ((Sender as TEdit).Name = TmpEdit.Name)) then begin TmpEdit.Text:= ''; exit; end; s:= ''; s:= ShortCutToText(ShortCut(Key, Shift)); if (Sender as TLabeledEdit).Text = s then exit; ShortText:= s; (Sender as TLabeledEdit).Text:= s; end; ![]() и вообще почему-то не совсем корректно выдает сочетания клавиш......почему-то некоторые клавиши дублирует в названии...мож кто поможет.....а еще как мне запретить вводи символов в эдит.....чтобы даже не отображался при вводе......хочу чтоб там были тока сочетания клавиш. ShortCutToText(ShortCut(Key, Shift)) - эти процы я взял с Menu.pas, который есть в самой дельфе APPLICATION.TERMINATOR Последний раз редактировалось Ama, 24.10.2010 в 11:51. |