Lib_menu32 - Графическое меню без головной боли
Вложений: 2
Последнее обновление 02.10.2009
Библиотека графических меню. Пробуйте. Оценивайте. Делайте советы какие ещё функции можно добавить. На данный момент список функций такой: PHP код:
|
Re: Lib_menu32 - Графическое меню без головной боли
неплохо бы еще функцию
Установка определенного пункта меню активным (можно использовать CursorDown но это помоему более процесороемкий процесс) |
Ответ: Lib_menu32 - Графическое меню без головной боли
А как изменять текст пункта меню?
|
Ответ: Lib_menu32 - Графическое меню без головной боли
odd, Агромное спасибо!:super: А можно сделать функцию для получения позиции курсора на экране? хочу сделать вывод справки к пунктам
|
Ответ: Lib_menu32 - Графическое меню без головной боли
И ещё было бы здорово - если текст пункта больше заданного окна меню то он прокручивается влево-вправо. И не плохо бы сделать ползунок скролинга, с возможностью отключения. Высота пунктов меню, как я понял, зависит от размера иконки?
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Да. Высота пункта пока зависит от иконки, но в свежей версии появится функция настройки высоты пункта. Скролинг уже делается. Также добавлю функции удаления и изменения текста пунктов. Над полосой прокрутки я уже тоже думал. Скорее всего сделаю и её, но уже в отдельной библиотеке. Ждите обновления библиотек.
|
Re: Lib_menu32 - Графическое меню без головной боли
и еще одну мелочь можно былобы. вместо курсора битмапа генерировать филрект с опр. цветом, если картинка незадана. просто на разных разрешениях телефонах не подобртать одинаковой картинки... да и памяти меньше будет да и несложно в доработке. 2 строчки)
Еще былобы непохо центрировать надписи в меню. |
Ответ: Re: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
У меня какой то лаг странный - главное меню построенно с использованием этой библы, после нескольких переходов по пунктам меню и возврате в главное начинает автоматически включаться первый пункт
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Сменил реагирование кнопки огня с кейпрессед на кейкликед и глюк пропал
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Немного подправлил библиотеку. Почти все ваши пожелания были учтены.
От себя еще добавил функции поддержки сенсорного экрана. Скроллинга пока нет :-( но я уже работаю в данном направлении. |
Ответ: Lib_menu32 - Графическое меню без головной боли
Ругается на pointer_state - пишет что необъявлена нигде
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Strelok, поищи в теме про Lib_game аттач с именем Lib_sensor.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
так он у меня и так есть
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
ну да
|
Ответ: Lib_menu32 - Графическое меню без головной боли
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Пардон =)
|
Re: Lib_menu32 - Графическое меню без головной боли
есть идея насчет скрола, можешь просто сделать возврат количество пикселей текст, на екране скоьлко влазит а уже програмно его двигать в цикле с проверой ввод конопок, так думаю амое лутше будет
|
Ответ: Re: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Re: Lib_menu32 - Графическое меню без головной боли
Lib_menu32 - скрол горизонтальный я имею в виду. тут немного сложно будет в библиотеке его написать. лутше в прораму вынести
|
Re: Lib_menu32 - Графическое меню без головной боли
Как успехи?
|
Ответ: Re: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Re: Lib_menu32 - Графическое меню без головной боли
Есть идея насчет скролинга.. помоему он вообще ненужен, лучше сделать так, если текст не влазит в строку переносить его на следующую строку, пункт будет занимать уже 2 строки.
|
Ответ: Re: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Re: Lib_menu32 - Графическое меню без головной боли
odd, когда компилю твой пример(MenuDemo.zip) и запускаю на телефоне, то запускается просто белый экран. LibFont32 - стоит. Что это может быть?
|
Ответ: Re: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Re: Lib_menu32 - Графическое меню без головной боли
Уже нормально работает, просто рус. версия, когда компилила не добавляла библиотеки в мидлет.
Odd, в твоей библиотеке можно сделать перемещение по горизонтали? Т.е я у себя в мидлете хочу сделать меню как в телефоне. |
Ответ: Re: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
В старой версии не очищается первый пункт.
В новой курсора не показывает о_О PHP код:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Конечно не показывает. Ты же сначала сохраняешь курсор, а потом делаешь menu32.init, который все переменные стирает и ставит дефолтные(по умолчанию) значения. Просто переставь оператор menu32.createcursor(200, 20, 255255000); так, чтоб он был после menu32.init.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
а как цвет курсора ставится? думал RRRGGGBBB где R,G,B - (0..255)
Но оказывается не так... |
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
image CreateCursor(w: integer; h: integer; c: integer) - Создать прямоугольник с размерами w на h и ARGB цветом с. вот пример LoadCursor(CreateCursor(120, 16, 4281428406)); |
Ответ: Lib_menu32 - Графическое меню без головной боли
ага, но что за ARGB? в гугле ниче не нашел...
а терь проблема - после нажатия на "огонь" меню не появляеццо... PHP код:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
createCursor уже возвращает image, нет необходимости в loadimage.
ARGB - A - это прозрачность курсора. |
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
------------------------------------- А что на щет того что меню не показывается?! |
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
begin menu32.init; Cls; AddItem(LoadImage('/book.png'), 'text'); AddItem(LoadImage('/REV.png'), 'text1'); AddItem(LoadImage('/Boot.png'), ''text2); AddItem(LoadImage('/exit.png'), 'Выход'); SetMenuWindow(10, 10, wi - 10, hi / 2); LoadCursor(CreateCursor(150, 33, 4281428406)); MenuFonts(0, 1); DrawMenu; Repaint; repeat key:=KeyToAction(GetKeyPressed); Delay(30); if key = GA_UP then begin CursorUp; DrawMenu; Repaint; Delay(250); end; if key = GA_DOWN then begin CursorDown; DrawMenu; Repaint; Delay(250); end; if key = GA_FIRE then begin if Selected = 0 then //действия if Selected = 1 then //действия 1 if Selected = 2 then //действия2 if Selected = 3 then Halt; // Выход end; until false; end; вот так уменя работает |
Ответ: Lib_menu32 - Графическое меню без головной боли
Я знаю как меню делается. И делал. А вотут в проге оно не появляется
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Нету смысла выкладывать целый исходник. Вот разве что целый юнит выложу (напишу сюда). Место проблемы возле коментариев (тоесть часть кода, где должно появится меню и то, где текст не там рисует) Вот:
PHP код:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
попробуй заменить GetKeyClicked на GetKeyPressed
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Нифига. Меню просто не появляется :(
Картинку показывает и все... |
Ответ: Lib_menu32 - Графическое меню без головной боли
Я пробовал. При отключении картинок в меню всё нормально показывает.
Может не так прописана одна из иконок меню? Проверь. Нижний текст не так рисует? Исправь на PHP код:
И вообще как-то странно, что у тебя программа вообще работает. У меня на строку PHP код:
PHP код:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Кароче забейте. Я в form это меню сделал :)
odd, хз. Вроде новая, ладно, спс... А с тем что текст не так рисует, это я чтото конкретно глюкнул))))))))))))) |
Ответ: Lib_menu32 - Графическое меню без головной боли
Имеется такой баг: http://pic.ipicture.ru/uploads/090328/5C042QVVGr.jpg Конечно можно решить очисткой экрана перед каждой отрисовкой меню, но так не должно быть.
И вот: http://pic.ipicture.ru/uploads/090328/RgWT9HrUfi.jpg (обведено красным) - буквы "i" почти не видно. От шрифта не зависит. Есть ещё вопрос - как сделать фон для меню? Функции такой не нашёлю |
Ответ: Lib_menu32 - Графическое меню без головной боли
1) Фон для меню я делал функцией для создания курсора. :@
2) Чтобы буква i была нормально видна нужно немного подправить таблицу шрифта. Это глюки генератора шрифтов, не библиотеки. 3) По поводу размазанного меню ничего сказать не могу, нужно исходник глянуть. |
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
С остальными вопросами уже сам разобрался, спасибо за такую полезную библиотеку :) |
Ответ: Lib_menu32 - Графическое меню без головной боли
Выложи шрифт и таблицу к нему.Могу помочь с таким уже приходилось сталкиваться.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
1) Открываешь свой шрифт в MS Paint и находишь там букву "i" 2) Смотришь её x-координату (к примеру у меня это 468 для шрифта Verdana 7) 3) Открываешь DAT файл от этого шрифта в текстовом редакторе и ищешь такую координату 4) Я нашёл на строчке №74 запись 468, а под номером №75 записано 471. Это обозначает, что буква i начинается с 468, а буква j c 471 пиксела. Просто подкорректируй эти координаты на те, которые получишь в MS Paint. В твоём случае скорее всего будет достаточно увеличить на пару пикселов число в 74-ой строке. PS: А вообще Fontgen косячит довольно часто. Потом либо в графическом редакторе приходится немного передвигать буквы либо править DAT файл. |
Ответ: Lib_menu32 - Графическое меню без головной боли
Спасибо за помощь :) И ещё вопрос - как одновременно отобразить 2 меню? Одно - список файлов, другое - контекстное меню по софткею (нет, это не файловый менеджер =) )
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
А как при клике на пункте контекстного меню получить выбранный элемент в главном меню?
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
у меня последние 2 файла не получилось запустить.... при компилящии MP обрубается...:mad:
|
Ответ: Lib_menu32 - Графическое меню без головной боли
CreateCursor не может быть вызвана как процедура, отсутствует оператор присвоения, что за ошибка, в твоем примере?
|
Ответ: Lib_menu32 - Графическое меню без головной боли
А либу uses menu32; подключил к проекту? Глюк бывает только из-за не подключенной библиотеки.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Кстати, библиотека обновилась. Добавил я туда таки скроллинг строки.
Выложить? Или никому не интересно? |
Ответ: Lib_menu32 - Графическое меню без головной боли
Конечно интересно, и еще не могу понять в последней библе там курсор только цветом- картинкой нельзя, если можно то как? Имеется ли возможность фона для меню?И еще не мог бы ты линк кинуть на эмулятор которым сенсорный экран проверить можно?
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Да, выложи конечно.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Цитата:
http://mobilepascal.ucoz.ru/load/1-1-0-63 |
Ответ: Lib_menu32 - Графическое меню без головной боли
Как можно менять цвет фона в меню?
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Нарисуй фон какой тебе нужно, а потом уже вызывай функцию задания размеров окна для меню.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Если можно по подробней, что за чем делать. Краткий пример вызовов функций прояснил бы. Непонятно где я должен нарисовать фон.
|
Ответ: Lib_menu32 - Графическое меню без головной боли
Вот примерно так
PHP код:
|
Часовой пояс GMT +4, время: 00:57. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot