Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 26.06.2008, 18:43   #1
JIexa
AnyKey`щик
 
Регистрация: 14.06.2008
Сообщений: 13
Написано 0 полезных сообщений
(для 0 пользователей)
Графическое меню в Midlet Pascal. Как?

Вот в MP есть функции, чтобы сделать стандартное меню. А как мне сделать, чтобы было свое меню? с красивыми кнопка и пр.
Чтобы инетерфейс вобщем был красивый а не обычный как в Midlet Pascal.
Кто может подскажет?
(Offline)
 
Ответить с цитированием
Старый 26.06.2008, 19:19   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 25.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,423
Написано 5,248 полезных сообщений
(для 15,182 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

Сам рисуй, сам обрабатывай, всё ручками...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 26.06.2008, 19:29   #3
JIexa
AnyKey`щик
 
Регистрация: 14.06.2008
Сообщений: 13
Написано 0 полезных сообщений
(для 0 пользователей)
меню

Ну это так то так. а вот при нажатии кнопки "вниз" перерисовывать весь экран? дык так на телефон много нагрузки. Или перерисовывать только некоторые части. Кто может так делал? Может приведете пример?
(Offline)
 
Ответить с цитированием
Старый 26.06.2008, 20:07   #4
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

В либе cnv2 есть функция repaint_part, хотя и на перерисовку экрана много ресурсов не нужно.
(Offline)
 
Ответить с цитированием
Старый 27.06.2008, 04:16   #5
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

Я тебе выложил парочку примеров создания меню:
http://forum.boolean.name/showthread...1471#post81471
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
JIexa (27.06.2008)
Старый 27.06.2008, 08:05   #6
Romanzes
Разработчик
 
Аватар для Romanzes
 
Регистрация: 05.04.2008
Сообщений: 541
Написано 196 полезных сообщений
(для 637 пользователей)
Ответ: меню

Сообщение от JIexa Посмотреть сообщение
Ну это так то так. а вот при нажатии кнопки "вниз" перерисовывать весь экран? дык так на телефон много нагрузки. Или перерисовывать только некоторые части. Кто может так делал? Может приведете пример?
Конечно перерисовывать, причем весь экран, и не только при нажатии кнопки. Это не такая уж и большая нагрузка.
(Offline)
 
Ответить с цитированием
Старый 28.06.2008, 12:16   #7
JIexa
AnyKey`щик
 
Регистрация: 14.06.2008
Сообщений: 13
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

А подскажите еще как сделать вывод текста чтобы он при достижения конца экрана переходил на новую строчку. И как сделать форму ввода текста в showcanvas??? делать в виде полей может? а при нажатии кнопки ОК выводить TextBox ??? а лучше как при нажатии цифры она сразу появлялась на экране в showcanvas.
(Offline)
 
Ответить с цитированием
Старый 28.06.2008, 18:23   #8
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

Сообщение от JIexa Посмотреть сообщение
А подскажите еще как сделать вывод текста чтобы он при достижения конца экрана переходил на новую строчку.
Тут нужно самому определть предполагаемую длину текста(с помощью GetStringWidth), делить его на блоки и выводить.
И как сделать форму ввода текста в showcanvas???
Над этим бились давно, на MP это реализовать сложно.
делать в виде полей может? а при нажатии кнопки ОК выводить TextBox ???
Пожалуй, самый подходящий вариант.
(Offline)
 
Ответить с цитированием
Старый 29.06.2008, 05:57   #9
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

Вот простейшая процедура для разбиения длинной строки на маленькие строчечки:

 
Function DLT3 (start: integer): integer; // Это служебная функция для процедуры Format
var i, j, len, oi: integer;
begin
 i:=start; len:=Length(str); oi:=i;
 while (GetStrWidth2(Copy(str,start,i))<wi-ch) and (i<len) and (GetChar(str,i)<>nn) do begin if GetChar(str,i)=' ' then oi:=i; i:=i+1; end;
 if (oi<>i) and (GetChar(str,i)<>nn) then begin
       j:=oi; repeat j:=j+1; until (GetChar(str,j)=nn) or (GetChar(str,j)=' ') or (j>len);
       if j<len then if GetStrWidth2(Copy(str,oi,j))<wi-ch then i:=oi;
      end;
 if GetChar(str,i)=' ' then i:=i+1;
 if GetChar(str,i)=nn then i:=i+1;
 DLT3:=i;
end;
 
Procedure Format;
var finish, start, k: integer;
begin
 max:=0;
 If GetStrWidth2(str)<wi-ch then begin for k:=0 to 32 do w[k]:=''; w[max]:=str; max:=1; end;
 else begin
    start:=0;
    for k:=0 to 15 do begin
    w[k]:=''; finish:=DLT3(start);
    if GetChar(str,finish-1)<>nn then w[max]:=Copy(str,start,finish); else w[max]:=Copy(str,start,finish-1);
    if w[max]=nn then w[max]:='';
    if start<>finish then max:=max+1;
    start:=finish; end;
   end;
end;
Для разбиения строчки нужно её поместить в переменную str и вызвать функцию Format. После форматирования маленькие строчки будут содержаться в массиве w, а количество полученных строк будет храниться в переменной max.
Так же ещё нужно задать такие переменные:
w[0..32] - массив обрезанных строк
wi - ширина экрана
hi - высота экрана
ch - отступ от правого края экрана в пикселах
nn - символ для переноса, например "|"
Функция GetStringWidth2 - вычисляет ширину строки в пикселах, если у тебя шрифт не графический, а встроенный в телефон, то можно заменить на обычную GetStringWidth.

Особенности - чтобы процедура нормально работала нужно перед каждым символом переноса (задаваемым переменной nn) и в самом конце разбиваемой строки ставить пробел.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RblSb (10.07.2014)
Старый 29.06.2008, 09:37   #10
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Ответ: Графическое меню в Midlet Pascal. Как?

Сообщение от JIexa Посмотреть сообщение
А подскажите еще как сделать вывод текста чтобы он при достижения конца экрана переходил на новую строчку.
где-то среди наработок я выкладывал модуль CRT там есть и исходники, и требуемая функция.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_menu32 - Графическое меню без головной боли odd Библиотеки 93 15.09.2012 10:19
Midlet Pascal 3.0 (ALPHA) GRAY_WOLF Разработка MIDlet Pascal 57 02.01.2011 15:19
Графическое меню. GRAY_WOLF Наше Open Source Software 0 18.12.2009 17:33
Brainfuck to Midlet Pascal anton_obuhov Основной форум 3 31.03.2009 09:09
Midlet Pascal и Bluetooth rancid Основной форум 12 24.09.2006 08:15


Часовой пояс GMT +1, время: 18:18.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com