Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 13:18   #1
JK0
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 26
По умолчанию калькулятор

Написан калькулятор, всё работает, но с клавиатуры вводить символы можно только в Edit, а хочется как в стандартном widows, просто когда окно активно. На свойство формы keypreview в true, редактирование в edit запрещено. В процедуре FormKeyPress по нажатию разрешённых клавиш - edit1.text:=edit1.text + key или edit1.text:=edit1.text если было пусто. Теперь вообще никакой реакции на клавиатуру нет.
Подскажите, пожалуйста, как решить проблему.
JK0 вне форума Ответить с цитированием
Старый 01.09.2010, 13:21   #2
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

В окно никак не получится! Само нужно было! Создай меню в него запихай поле с быстрой клавишей и сделай его невидимым!И все работает))
RuVarez вне форума Ответить с цитированием
Старый 01.09.2010, 13:53   #3
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Код:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  edit1.Text := edit1.Text + key;
end;
у меня работает
_Engine_ вне форума Ответить с цитированием
Старый 01.09.2010, 14:05   #4
JK0
Пользователь
 
Регистрация: 01.09.2010
Сообщений: 26
По умолчанию

Спасибо, RuVarez. Будет повод познакомиться с меню
_Engine_, у меня это работает если редактирование в edit разрешено. Однако при вводе с buttonов edit теряет фокус, приходится снова по нему кликать, что неприятно. Или для каждой кнопки писать возврат фокуса в edit? Но в стандартном не так, там редактирование в edit запрещено... если это edit ?
JK0 вне форума Ответить с цитированием
Старый 01.09.2010, 14:08   #5
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

У меня edit.readonly := true; и фокус на кнопке. Однако все работает.
Ты кейпрессед-то у какого компонента обрабатываешь?
_Engine_ вне форума Ответить с цитированием
Старый 01.09.2010, 14:08   #6
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Ну чо пробовал!Меню должно работать, только надо испоьзовать MainMenu
хотя може и такое работает))
RuVarez вне форума Ответить с цитированием
Старый 01.09.2010, 14:09   #7
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

Не фокус для всего это фигня!
RuVarez вне форума Ответить с цитированием
Старый 01.09.2010, 14:13   #8
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Цитата:
Сообщение от RuVarez Посмотреть сообщение
Не фокус для всего это фигня!
Да что Вы говорите? Конечно, гланды лучше через ж* удалять
_Engine_ вне форума Ответить с цитированием
Старый 01.09.2010, 14:14   #9
RuVarez
Форумчанин
 
Аватар для RuVarez
 
Регистрация: 25.08.2010
Сообщений: 258
По умолчанию

А вы что гланды со всех сторон удаляете?
RuVarez вне форума Ответить с цитированием
Старый 01.09.2010, 14:44   #10
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от JK0 Посмотреть сообщение
Написан калькулятор, всё работает, но с клавиатуры вводить символы можно только в Edit, а хочется как в стандартном widows, просто когда окно активно. На свойство формы keypreview в true, редактирование в edit запрещено. В процедуре FormKeyPress по нажатию разрешённых клавиш - edit1.text:=edit1.text + key или edit1.text:=edit1.text если было пусто. Теперь вообще никакой реакции на клавиатуру нет.
Подскажите, пожалуйста, как решить проблему.
киньте на форму ActionList, из вкладки Standard, и создайте для каждой кнопки свое действие путем нажатия кнопки "New Action", либо нажатием клавиши Insert. После добавления, нажмите 2 раза по действиям (Action1, Action2 ...) и там пропишите Button1.Click, то есть команду нажатия кнопки калькулятора. Затем для каждого действия (Action1, Action2 ...) в инспекторе объектов (Object Inspector, слева внизу) пропишите "горячую" клавишу в поле ShortCut.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
калькулятор в С++ natashasuper5 Помощь студентам 3 10.04.2011 23:02
Калькулятор manick Общие вопросы Delphi 8 23.04.2010 20:42
Калькулятор на с#.... Kamil H. Помощь студентам 0 10.04.2010 15:37
Калькулятор Иринка26 Помощь студентам 11 19.02.2010 17:05
Калькулятор mary1421 Общие вопросы Delphi 3 21.09.2009 13:40