Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как отключить клавиши


Страницы:   1 2

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо