|
Основной форум Сюда все проблемы связанные с программированием. |
03.03.2010, 14:50
|
#1
|
Оператор ЭВМ
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
|
Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Как сделать использую lib_menu32 круговую прокрутку и запоминание курсора?? Т.е
1, круговая прокрутка- это когда я например на нижнем пунете нажимаю вниз и перехожу на самый верхний пункт. ???
2, запоминание курсора вот например сделал я несколько пунктов в меню. ПУсть "информация" , "о програме", "помощь", "выход", НАпример когда я захожу в раздел "помощь" то при нажатии на правый софт вернусь в главное меню,
( if getkeypressed = -7 then cls; mainmenu; repaint; )
и курсор будет на верхнем пункет "информация", а мне надо чтоб курсор был на пункте "помощь", т.е. куда я заходил.
|
(Offline)
|
|
03.03.2010, 15:08
|
#2
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
1-
Допустим на экран влезается 5 пунктов меню. у тебя есть список из семи пунктов. когда прокручиваешь меню, первым пунктом будет отрисовыватся уже не тот что первый в списке, а n -текущий пункт(сколько уже пролистано) n+5- последний пункт меню, который будет рисоватся. если n+5> 7(количество всех пунктов меню, которые есть у нас в списке) тогда рисуем пункты начинае с 1 до (n+5-7).
гдето так. конечно можно сделать всё по людски через mod% и прочеие функции, но я не хочетел так писать, вдруг будет сложно понять.
2-3. тут главное нормально организовать эти самы меню. и запомнитать предыдущий пункт меню.
|
(Offline)
|
|
03.03.2010, 17:29
|
#3
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Так сложно выяснить позицию курсора в момент входа в пункт и потом снова переместить его туда же? Всё это уже есть в библиотеке. Функций там столько, что можно и круговую прокрутку курсора тоже делать без проблем. Почитай документацию к библиотеке.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
10.03.2010, 15:58
|
#4
|
Оператор ЭВМ
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Сообщение от odd
Так сложно выяснить позицию курсора в момент входа в пункт и потом снова переместить его туда же? Всё это уже есть в библиотеке. Функций там столько, что можно и круговую прокрутку курсора тоже делать без проблем. Почитай документацию к библиотеке.
|
я не понял как сделать круговую прокрутку и запоминание курсора. ТАм только функции а куда их вставлять непонятно.
|
(Offline)
|
|
10.03.2010, 19:03
|
#5
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
посмотри пример в теме про либу. там показано как явно задавать пункт на который указывает курсор. если курсор на последнем и нажата вниз -> задай 1 и наоборот.
вот тебе и круговая прокрутка))
|
(Offline)
|
|
11.03.2010, 15:48
|
#6
|
Оператор ЭВМ
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
ДА НЕТУ ТАМ ТАКОГО!!! ТАМ только если выбран пункт то делать то-то , а если направлен курсор ТО НЕТУ ТАКОЙ КОМАНДЫ!!! ЧТОБ СДЕЛАТЬ ЕСЛИ НАПРАВлен на послденем то передвинуться к первому при нажатии низа!!!!!
и загрузку курсора не понятнно как делать!!
если я делаю так
if key2 = -7 then mainmenu; SetCursor(4); repaint;
то ничего не выхлодит!!!!
|
(Offline)
|
|
12.03.2010, 11:22
|
#7
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
пример там в первом посте. читай внимательно. odd оставил все комменты нужные для понимания
|
(Offline)
|
|
12.03.2010, 15:50
|
#8
|
Оператор ЭВМ
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Сообщение от cherepets
пример там в первом посте. читай внимательно. odd оставил все комменты нужные для понимания
|
да НЕТУ ТАМ такого!!!! СКажите как наглюдно пользоваться этой вешью! Я не понял как запоминать курсор и потом его зугружатЬ!!!! Скажите какие команды нужно для запоминанеия и выгружания!!! И как потом возвращаться правильно к меню /!!! Пожалуйста!! Всего 2 функции давно бы сказали за 3 минуты чем одно и тоже говоирть ! НЕту там такого в примере!!!!
----
УРА!!!!!!!!!!!!!!!!!!!!! НАКОЕНЦ ТО Я ПОНЯЛ!!!!! СПАСИБО ВСЕМ БОЛЬШОЕ!!!! РАЗОБРАЛСЯ!!!!! Я СДЕЛАЛ ЗАПОминание курсора и потом его загружениЕ!!!!!! ОСталось только КРУГОВУЮ прокрутку, ПОЖАЛУЙСТА ПОМОГИТЕ Её сделать!
|
(Offline)
|
|
12.03.2010, 17:44
|
#9
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
зацитирую пример:
... SetCursor(4); // Пример явного перемещения курсора на нужный пункт ... if SelectedValue = 'exit' then Halt; // Можно и так проверять. Чтоб не ломать мозги: какой же там номер пункта? ...
а теперь себя:
Сообщение от cherepets
посмотри пример в теме про либу. там показано как явно задавать пункт на который указывает курсор. если курсор на последнем и нажата вниз -> задай 1 и наоборот.
вот тебе и круговая прокрутка))
|
|
(Offline)
|
|
12.03.2010, 17:53
|
#10
|
Оператор ЭВМ
Регистрация: 22.02.2010
Сообщений: 48
Написано одно полезное сообщение
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Сообщение от cherepets
зацитирую пример:
... SetCursor(4); // Пример явного перемещения курсора на нужный пункт ... if SelectedValue = 'exit' then Halt; // Можно и так проверять. Чтоб не ломать мозги: какой же там номер пункта? ...
а теперь себя:
|
ну если я делаю if selected то этот пункт должен выбираться! А мне надо, чтоб если у меня курсор наведен на последнем пункте, и листнуть вниз то меня перенесло на первый. И наоборот, если, когда наведен курсор на первом нажать вверх, то перебросит на нижний. Хотя это анологично делается. Я не знаю какой командой моно получить тот пункт меню, на который наведен курсор!
|
(Offline)
|
|
12.03.2010, 18:11
|
#11
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Короче, я уже выложил пример в библиотеках.
|
(Offline)
|
|
13.03.2010, 20:40
|
#12
|
Оператор ЭВМ
Регистрация: 24.09.2007
Сообщений: 36
Написано 2 полезных сообщений (для 3 пользователей)
|
Re: Как сделать lib_menu32 круговую прокрутку и запоминание курсора
Если в меню 4 строки
if key = GA_UP then
if Selected = 0 then SetCursor(3) else CursorUp;
if key = GA_DOWN then
if Selected = 3 then begin SetCursor(0) else CursorDown;
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:31.
|