Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Вниз

Как сделать чтобы в OnKeyPress проходило сообщение VK_UP ?   Найти похожие ветки 

 
Прочее   (2007-10-24 01:31) [0]

И нужно, чтобы как и обычная клавиша когда долго держишь начинался повтор. Как такое сделать?

Компонент - Form1.

Модератор! Думай о пользе Дельфи, а не о тех кто сводит личные счёты.


 
Efir   (2007-10-24 01:53) [1]

if GetAsyncKeyState(VK_UP)<>0  then ...


 
sniknik ©   (2007-10-24 01:54) [2]

а твои нарушения правил форума, мат, указания что именно делать модератору (что вообще нулевой пункт в запретах) оно как то идет на пользу Дельфи?

не льсти себе. никому ты не нужен чтобы с тобой счеты сводить... но вот за очередное нарушение опять "прихлопнут". рано или поздно.


 
Германн ©   (2007-10-24 02:17) [3]


> sniknik ©   (24.10.07 01:54) [2]

Подтверждаю своё согласие!  
+1  надоело!


 
tesseract ©   (2007-10-24 13:17) [4]


> Компонент - Form1.


Ты могом пользоваться умеешь ? Ставим таймер и следим, что у нас там VK_up/VK_down. Всё.


 
Virgo_Style ©   (2007-10-24 13:35) [5]

И много от твоего вопроса пользы Delphi получит?)


 
Прочее   (2007-10-25 01:23) [6]


> tesseract ©   (24.10.07 13:17) [4]
>
> > Компонент - Form1.
>
> Ты могом пользоваться умеешь ? Ставим таймер и следим, что
> у нас там VK_up/VK_down. Всё.


И что толку от слежения? Как узнать задержку через которую надо начать повторение, как узнать интервал повторения?
Если сделать таймеру проверку каждую миллисекунду, то это будет лишняя нагрузка на процессор. А если редко, то будут возникать задержки каждой раз разного интервала.

Вообще хочется сделать нормально, а не через жэ.


 
Сусл ©   (2007-10-25 02:36) [7]

а!!! опять ты. у меня с тобой есть личные счеты! это точно.

Модератор! Думай о пользе Дельфи, а не нахер никому не нужных анонимов!

===========

Прочее, уважаемый, скажу тебе по сути. Вот смотри, что написано в хелпе

The Key parameter in the OnKeyPress event handler is of type Char; therefore, the OnKeyPress event registers the ASCII character of the key pressed. Keys that don"t correspond to an ASCII Char value (Shift or F1, for example) don"t generate an OnKeyPress event. Key combinations (such as Shift+A), generate only one OnKeyPress event (for this example, Shift+A results in a Key value of "A" if Caps Lock is off). To respond to non-ASCII keys or key combinations, use the OnKeyDown or OnKeyUp event handlers.

Что отседова следует? Ну вроде как что тебе нужно юзать именно OnKeyDown или OnKeyUp, но никак не OnKeyPress.

Т.е. тебе нужно пересмотреть свой взгляд на OnKeyPress.


 
Сусл ©   (2007-10-25 02:52) [8]

Товарищ, Прочее (можно сказать открытое письмо!)

Возможно, что ты шокирован моей выходкой от прошлой 20 октября 2007 года. Я сам в недоумении - назвать незнакомого мне человега обидными словами?! Позор мне.

Все же я хочу тебе заметить, чмо ты малое, что анонимность, как и демократия, не являются оправданиями неуважительного отношения к окружающим, в частности, к сообществу программистов на языке Дельфи.

Пойми тот факт, что ты не один на целом свете. И такому .у как тебе помочь не каждых хочет. Вот я, заметь, постарался почитать хелп и помочь тебе понять всю глубину твоего заблуждения. Возможно, что я не прав. Но я предпринял усилия, чтобы ответить тебе как-то и не видеть твой факин ник более на этом сайт.

За сим разрешите откланица, если есть конкретные вопросы по дельфи, пишите, уважаемый, в личку.


 
Германн ©   (2007-10-25 03:12) [9]


> За сим разрешите откланица

Дима. Я то, конечно разрешу. Но с очень большими претензиями!
"За сим" ну никак не сочетается с "откланица"! Даже если ты поставишь две буквы "Ц"!
А вот тут у меня есть все основания заявить, "Пить надо меньше".


 
Сусл ©   (2007-10-25 03:21) [10]


> Германн ©   (25.10.07 03:12) [9]


> А вот тут у меня есть все основания заявить, "Пить надо
> меньше".


Разрешите оправдаца, мой генерал?
Падонковский сленг, собака, ужасно удобен (попробуйте сами!).

Иногда даже в деловой переписке его, собаку, использую.

Ну сам подумай - не надо мысленно ставить вопрос "что сделать - откланиться или откланится?" Нужен это долбанный мягкий знак или нет! Пыши "Ц" вместо пробемы и все!

Да, каюсь, нельзя так, но удобно же...


 
Германн ©   (2007-10-25 03:36) [11]


> Да, каюсь, нельзя так, но удобно же...

Удобно "же"  через "же". Ты согласен прослыть тут на форуме спецом в этой части? :)
Дим, ну я же знаю тебя "в реале", как некогда выразился ЮЗ в отношении меня.
Ты ведь в реале вполне разумный парень! Зачем тебе в форуме использовать этот слэнг?


 
Сусл ©   (2007-10-25 03:43) [12]


> Зачем тебе в форуме использовать этот слэнг?


Позвольте Вам объяснить. Вот есть недоученные химики, которые кроме наркоты первосортной не могут ничего делать. Есть недоученные физики, которые, кроме спутник забубенить на Марс вместо Венеры могут запросто.

Вот есть недоученные десятипалечники (слепой набор). Я набираю быстро (такая фигня получае... тся :р иногда). Но вот упростить себе хочет... ся :р жизнь. Кому этого не хочет...ся :р

В общем, за сим разрешите спать пойти :р


 
Германн ©   (2007-10-25 04:08) [13]


> В общем, за сим разрешите спать пойти :р

Разрешаю. Нет проблем. Спать всем полезно. Проснёшься, поговорим. Если захочешь.


 
Германн ©   (2007-10-25 04:47) [14]


> Сусл ©   (25.10.07 03:43) [12]
>
>

И ты говоришь, что с прошлой субботы ничего не пил?
:-)


 
Прочее   (2007-10-26 01:51) [15]


> Efir   (24.10.07 01:53) [1]
>
> if GetAsyncKeyState(VK_UP)<>0  then ...


А в какой момент это делать?


 
Прочее   (2007-10-27 04:08) [16]

Up


 
Virgo_Style ©   (2007-10-27 13:25) [17]

Прочее   (26.10.07 1:51) [15]
А в какой момент это делать?


Сегодня в 14.05, или в любое удобное для тебя время


 
Virgo_Style ©   (2007-10-27 13:28) [18]

Вариант: при нажатии клавиши включаем таймер (и вызываем его OnTimer), при отпускании таймер отключаем. В OnTimer делаем, что надо.


 
Virgo_Style ©   (2007-10-27 14:13) [19]

В любом случае надо подумать, как вести себя, если пользователь нажал клавишу при неактивном приложении (или, зажав клавишу, переключился на другое)


 
Прочее   (2007-10-28 01:58) [20]


> Virgo_Style ©   (27.10.07 13:28) [18]
>
> Вариант: при нажатии клавиши включаем таймер (и вызываем
> его OnTimer), при отпускании таймер отключаем. В OnTimer
> делаем, что надо.


Прочее   (25.10.07 01:23) [6]


 
Virgo_Style ©   (2007-10-28 08:43) [21]

Прочее   (25.10.07 1:23) [6]
Как узнать задержку через которую надо начать повторение, как узнать интервал повторения?


Искать функции а-ля GetSystemMetrics, которые дадут ответ на этот вопрос.

Если сделать таймеру проверку каждую миллисекунду, то это будет лишняя нагрузка на процессор. А если редко, то будут возникать задержки каждой раз разного интервала.

Стало быть, оптимум где-то посередине. Действия по обработке нажатия тоже вызовут нагрузку на процессор, но тебя же это не волнует?

P.S. Терзают меня смутные сомнения, что если уйти с уровня событий на уровень сообщений, то задача решится сама собой, но проверять лень.


 
Прочее   (2007-11-12 05:39) [22]


> Virgo_Style ©   (28.10.07 08:43) [21]


Понимаешь, хочется сделать не через ж..у, а по-нормальному.


 
boa_kaa ©   (2007-11-12 11:11) [23]

GetTickCount в OnKeyUp


 
Virgo_Style ©   (2007-11-12 11:29) [24]

> Прочее   (12.11.07 05:39) [22]
> Понимаешь, хочется сделать


Если бы тебе действительно хотелось, ты бы не тянул резину три недели, а уже давно сделал бы.


 
Прочее   (2007-11-13 05:08) [25]


> Virgo_Style ©   (12.11.07 11:29) [24]
>
> > Прочее   (12.11.07 05:39) [22]
> > Понимаешь, хочется сделать
>
> Если бы тебе действительно хотелось, ты бы не тянул резину
> три недели, а уже давно сделал бы.


А ты сделал ?
Не сделал. Так, что ты сам не знаешь как сделать.


 
Virgo_Style ©   (2007-11-13 09:03) [26]

Такое впечатление, что на форуме половина новичков - это дети. Постоянно пытаются развести "на слабо". =)


 
Юрий Зотов ©   (2007-11-13 09:20) [27]

> Прочее   (25.10.07 01:23) [6]

> хочется сделать нормально, а не через жэ.

Тогда Вам действительно нужно использовать не OnKeyPress, а OnKeyDown. Это и будет "нормально". А то, что Вы так настойчиво хотите сделать - это и есть "через жэ". О чем Вам все и говорят, и даже прямую цитату из справки привели: "To respond to non-ASCII keys or key combinations, use the OnKeyDown or OnKeyUp event handlers".

Почему - объяснять долго, но вкратце - это связано с особенностями кодов, генерируемых клавиатурой. И я совершенно не понимаю, почему Вы так упорно не хотите верить ни более знающим людям, ни справке. И что мешает использовать обработчик OnKeyDown - тоже непонятно.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.12.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.05 c
5-1163317682
alextorin
2006-11-12 10:48
2007.12.09
Пакет с собственными формами (наследование + IDE)


11-1180503690
Rusya
2007-05-30 09:41
2007.12.09
Стиль контрола mdvXLGrid


15-1194602578
Z@ichik
2007-11-09 13:02
2007.12.09
Преобразование Аксельмана


15-1194968623
IOrist
2007-11-13 18:43
2007.12.09
Почиму в орешнике 1 страница?


2-1195196950
alikon1
2007-11-16 10:09
2007.12.09
Факториал дробного числа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский