Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Внизкак отключить клавиши Найти похожие ветки
← →
chips (2002-07-25 13:41) [0]Уважаемые мастера , как можно отключить клавиши " пробел " , курсорные и т.п. на Форме чтобы не было перехода фокуса на другие элементы формы, что бы я мог клавиши использовать по другому ?
← →
Opuhshii (2002-07-25 13:50) [1]KeyPreview
← →
Skier (2002-07-25 13:50) [2]>chips
procedure TYourForm.CMDialogKey(var Message: TCMDialogKey); message CM_DIALOGKEY;
begin
//.................
end;
← →
Skier (2002-07-25 13:51) [3]>Opuhshii
KeyPreview - это не нужно.
← →
RV (2002-07-25 14:23) [4]setfocus
← →
RV (2002-07-25 14:26) [5]в смысле когда пойдет не так как надо, вернешь фокус куда надо
← →
chips (2002-07-25 14:33) [6]Ет , setfocus, канешно хорошо ,ток у меня по этой команде
начинают выполняться совсем не нужные команды .:-((
← →
Skier (2002-07-25 14:36) [7]>chips
Про setfocus никого не слушай - это бред !
← →
RV (2002-07-25 14:52) [8]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:55) [9]>RV
> в каком смысле?
некрасивый это способ !
← →
chips (2002-07-25 16:04) [10]может я чего не понимаю ,мне нужно отключить определенные клавиши
т.е. чтобы если выбрана кнопка, нужно что бы она автоматически не нажималась если я жамкаю "пробел" и т. п.
← →
Skier (2002-07-25 16:05) [11]>chips
Вопросы нужно задавать правильно !
← →
chips (2002-07-25 16:12) [12]спасибо за добрый совет....:-))
← →
RV (2002-07-25 16:53) [13]хук повесь на клаву
← →
mike kouzmine (2002-07-25 19:33) [14]KeyPreview надо, а затем KeyDown формы
if (key in [Что тебе надо отключить]) then
begin
case Key of
что тебе надо
end;
Key := 0;
end;
← →
chips (2002-07-26 12:54) [15]Keyprewiew И Keydown пробовал , "пробел " можно отключить ,а вот
клавиши курсора никак :-((
← →
Skier (2002-07-26 12:56) [16]>chips
> а вот
> клавиши курсора никак
см. Skier © (25.07.02 13:50)
← →
chips (2002-07-26 14:38) [17]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 14:42) [18]>chips
>
> я не силен в синтаксисе
Книги очень помогают !
TForm1 = class(TForm)
private
procedure CMDialogKey(var Message: TCMDialogKey); message
CM_DIALOGKEY;
end; //TForm1
procedure TForm1.CMDialogKey(var Message: TCMDialogKey);
begin
//....
end;
</CODE
← →
Билли (2002-07-26 14:45) [19]Насколько я помню, в этом случае по крайней мере стрелки (а может, и пробел), оседают где-то в вин.процедурах элементов управления и до формы не доходят.
Их можно перехватить в Application.OnMessage.
← →
Skier (2002-07-26 14:55) [20]>Билли
Да точно ! CMDialogKey не пашет ! :(
← →
Билли (2002-07-26 14:59) [21]Skier ©
Пашет, пашет. Устал я чего-то... :-(
← →
Skier (2002-07-26 15:01) [22]>Билли
Вот ё ! А я что-то не смог ! Ха-ха !
Научи ! :)))
← →
Билли (2002-07-26 15:04) [23]procedure TForm1.CMDialogKey(var Message: TCMDialogKey);
begin
if Message.CharCode = VK_LEFT then
Caption := Caption + " Left"
else
inherited;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c