0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 49
|
||||||
1 | ||||||
"Enter" - окно перемещается по периметру экрана, "Esc" - остановить перемещение. Как?19.10.2014, 17:34. Показов 4281. Ответов 6
Метки нет (Все метки)
Надо написать приложение:
• при нажатии клавиши < Enter> главное окно позиционируется в левый верхний угол экрана с размерами (300х300) и начинает перемещаться по периметру экрана с определённой скоростью; • при нажатии клавиши < Esc> перемещение окна прекращается. Вот моя CALLBACK-функция:
Думаю, что делать надо далеко не так, как сделал я (не через while). Я так понимаю, что при нажатии ENTER должен запускаться некий процесс, а при нажатии ESC этот процесс надо убить. Не пойму как это сделать... Здесь смотрел тему Перемещение окна по периметру экрана Ничего не нашел
0
|
19.10.2014, 17:34 | |
Ответы с готовыми решениями:
6
Перемещение окна по периметру экрана Перемещение квадратика по периметру экрана Как в mc подставить имя файла по Ctrl + Enter без Esc? Перемещение элементов списка внутри ЛистБокса: как видеть то, что перемещается |
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
|
|
19.10.2014, 19:50 | 2 |
Ну да, и название этому процессу "Таймер". Всю автоматизацию процессов делай в нем, пусть он занимается перемещением, а по ESC его остановишь вызовом KillTimer().
1
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
19.10.2014, 20:05 | 3 |
Можно и без таймера. Использовать Sleep()
заведи переменную глобальную, например bool move=false; В обработке Escape укажи move=false; В обработке Enter укажи move=true; Цикл выполняется пока move==true... и если текущее положение окна достигнуло максимума(в этом случае надо move=false сделать)
1
|
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 49
|
||||||
19.10.2014, 22:15 [ТС] | 4 | |||||
Выкладываю решение.
Сделал через Таймер. Вот код TimerProc и WindowProc функций:
0
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
19.10.2014, 22:26 | 5 |
Ну если ещё углубиться, то можно продумать "а что если пользователь нажмёт Esc раньше чем Enter", т.е. нужна проверка существования таймера, и "если два раза нажмёт enter".. =)
Добавлено через 4 минуты Погуглил, тоже заинтересовало про проверку таймера, наткнулся на такое сообщение:
1
|
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 49
|
|
19.10.2014, 22:36 [ТС] | 6 |
Думаю, Вы правы...
Надо будет попробовать и ваш вариант, как будет время. Пока что и так сойдет, мы только с окнами учимся работать . Так что особо углубляться еще сложно...
0
|
0 / 0 / 0
Регистрация: 17.06.2015
Сообщений: 7
|
|
19.03.2016, 12:06 | 7 |
А какие библиотеки подключать?
#include ??
0
|
19.03.2016, 12:06 | |
19.03.2016, 12:06 | |
Помогаю со студенческими работами здесь
7
Как остановить цикл при вводе enter? Как сделать по периметру экрана рамку из крестиков — х Игнорирование Enter/Esc как остановить перемещение мышью вывод на экран с нажатием Enter и Esc Сабклассирование и немодальный диалог с нажатием ENTER/ESC Как cделать, чтобы модальное диалоговое окно не реагировало на клавишы Esc и Еnter? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |