![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как отключить клавиши
chips © (2002-07-25 13:41:00)Уважаемые мастера , как можно отключить клавиши " пробел " , курсорные и т.п. на Форме чтобы не было перехода фокуса на другие элементы формы, что бы я мог клавиши использовать по другому ?
Билли (2002-07-26 15:04:00) [1]procedure TForm1.CMDialogKey(var Message: TCMDialogKey);
begin
if Message.CharCode = VK_LEFT then
Caption := Caption + " Left"
else
inherited;
end;
Skier (2002-07-26 15:01:00) [2]>Билли
Вот ё ! А я что-то не смог ! Ха-ха !
Научи ! :)))
Билли (2002-07-26 14:59:00) [3]Skier ©
Пашет, пашет. Устал я чего-то... :-(
Skier (2002-07-26 14:55:00) [4]>Билли
Да точно ! CMDialogKey не пашет ! :(
Билли (2002-07-26 14:45:00) [5]Насколько я помню, в этом случае по крайней мере стрелки (а может, и пробел), оседают где-то в вин.процедурах элементов управления и до формы не доходят.
Их можно перехватить в Application.OnMessage.
Skier (2002-07-26 14:42:00) [6]>chips
>
> я не силен в синтаксисе
Книги очень помогают !
TForm1 = class(TForm)
private
procedure CMDialogKey(var Message: TCMDialogKey); message
CM_DIALOGKEY;
end; //TForm1
procedure TForm1.CMDialogKey(var Message: TCMDialogKey);
begin
//....
end;
</CODE
chips (2002-07-26 14:38:00) [7]skier,
я не силен в синтаксисе, пытаюсь объявить procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
Делфи орет : " Overloaded procedure "CVDialogKey" must be marked with the "overload" directive ",
если - procedure CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY; overload;
результ тот же ...:-((
Skier (2002-07-26 12:56:00) [8]>chips
> а вот
> клавиши курсора никак
см. Skier © (25.07.02 13:50)
chips (2002-07-26 12:54:00) [9]Keyprewiew И Keydown пробовал , "пробел " можно отключить ,а вот
клавиши курсора никак :-((
mike kouzmine (2002-07-25 19:33:00) [10]KeyPreview надо, а затем KeyDown формы
if (key in [Что тебе надо отключить]) then
begin
case Key of
что тебе надо
end;
Key := 0;
end;
RV (2002-07-25 16:53:00) [11]хук повесь на клаву
chips (2002-07-25 16:12:00) [12]спасибо за добрый совет....:-))
Skier (2002-07-25 16:05:00) [13]>chips
Вопросы нужно задавать правильно !
chips (2002-07-25 16:04:00) [14]может я чего не понимаю ,мне нужно отключить определенные клавиши
т.е. чтобы если выбрана кнопка, нужно что бы она автоматически не нажималась если я жамкаю "пробел" и т. п.
Skier (2002-07-25 14:55:00) [15]>RV
> в каком смысле?
некрасивый это способ !
RV (2002-07-25 14:52:00) [16]Skier © (25.07.02 14:36)
>chips
Про setfocus никого не слушай - это бред !
в каком смысле?
на onExit
if length(edit1.Text)=0 then edit1.SetFocus
else button5.SetFocus;
Skier (2002-07-25 14:36:00) [17]>chips
Про setfocus никого не слушай - это бред !
chips (2002-07-25 14:33:00) [18]Ет , setfocus, канешно хорошо ,ток у меня по этой команде
начинают выполняться совсем не нужные команды .:-((
RV (2002-07-25 14:26:00) [19]в смысле когда пойдет не так как надо, вернешь фокус куда надо
RV (2002-07-25 14:23:00) [20]setfocus