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

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

Помогите! [D7, WinME]


Dimchik ©   (2005-01-04 18:03:00) 

Добрый вечер.Я конечно извиняюсь за такой глупый вопрос но я всего 3 месяца в Delphi и мало знаю. Скажите пожалуйста как сделать так при нажатии клавиши1 в edit появлялась цифра один, нажал на 2 появилась двойка.


Agentch007   (2005-01-04 18:50:00) [1]

Можно кончно и через SetWindowsHook() но думаю это излишне будет,это уже кейспай будет а не калькулятор.:)


Agentch007   (2005-01-04 18:44:00) [2]

Надо хук на клаву ставить однозначно,а в обаботчике едита писать

const s='1234567890';
begin
if pos(Key,s)=0 then key:=#0;

иначе при переводе фокуса к примеру на кнопку какуюнибуль усё нифига не будет.
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
if Msg.message = WM_keydown then
begin
{Здесь писать обработку скан кодов для цифир от 0 до 10}
end;
end;


novice__man   (2005-01-04 18:39:00) [3]


Плохиш ©   (04.01.05 18:31) [8]

Хавай халяву:

Edit1.Text := Edit1.Text + '1';


А так можно и другие цифири писать :)

Edit1.Text := Edit1.Text + key


Dimchik   (2005-01-04 18:33:00) [4]

Плохиш ©  
Спасибо тебе огромное!


Плохиш   (2005-01-04 18:31:00) [5]

Хавай халяву:

Edit1.Text := Edit1.Text + '1';


Dimchik   (2005-01-04 18:31:00) [6]

Вам что в падло помоч мне?


Dimchik   (2005-01-04 18:24:00) [7]

Ну так пожите мне или нет?


begin...end   (2005-01-04 18:20:00) [8]

Посты [1] и [2] просьба не принимать во внимание.


Dimchik   (2005-01-04 18:17:00) [9]

Agentch007  
Не смешно!


Dimchik   (2005-01-04 18:16:00) [10]

Не совсем то что нужно. Я делаю калькулятор и поэтому надо чтобы при нажатии клавиши в едитт добавлялась цифра то есть если я нажал один в едите появилась 1 потом нажал 2 в едите должно появиться 12.


Agentch007   (2005-01-04 18:10:00) [11]

1)Нужно просто поместить курсор в этот самый Edit1
2)Нажать на кнопку "1"
3)Подождать чуть чуть
4)Отпустить кнопку
5)Срочно бежать в магазин за книжкой "Дельфи для чайников"
6)Подписатся на рассылку http://www.delphimaster.ru/mail.html
7)Выпить валерьянку и сформулировать свой вопрос конкретнее
P.C. Посмотрите программу Спокойной ночи дельфиши :)


begin...end   (2005-01-04 18:08:00) [12]

Извиняюсь, в данном случае TForm.KeyPreview должно быть как раз True.


begin...end   (2005-01-04 18:07:00) [13]

> Dimchik   (04.01.05 18:03)

Если Edit имеет фокус ввода, то при нажатии клавиши 1 цифра "1" в Edit появится автоматически. Если требуется, чтобы она появлялась там и в том случае, когда Edit не имеет фокуса ввода, следует в обработчик TForm.OnKeyPress поместить соответствующий код (напр., Edit.Text := Key), не забыв установить свойство TForm.KeyPreview в False.


Наверх

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