forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_gui32 - Многострадальные окна (http://forum.boolean.name/showthread.php?t=6249)

cHeRsAnYa 09.03.2009 10:18

Ответ: Lib_gui32 - Многострадальные окна
 
Я за "MPGL+" :)
А причём тут интерфейс винды?

odd 10.03.2009 02:04

Ответ: Lib_gui32 - Многострадальные окна
 
Я тоже за MPGL+. Звучит. Так и назовём. Кстати, есть идея немного добавить новых функций в библиотеки. Как то скроллинг строки в меню, использование нескольких шрифтов в одном тексте одновременно и проч. Дело в том, что мне эти функции самому понадобились, так что возможно скоро выложу.

cHeRsAnYa 31.03.2009 16:09

Ответ: Lib_gui32 - Многострадальные окна
 
Цитата:

Сообщение от odd (Сообщение 84735)
Пример применения полосы прокрутки для текста.
Возможно у вас появятся проблемы с тем, какие туда параметры передавать.
DrawVScroll(min, max, val, hgt)

...

Для многостраничного меню (не проверял!!!):
min - 0
max - Общее количество пунктов
val - Selected - GetCursor
hgt - количество пунктов, отображаемых на экране (высота окна меню / высоту курсора (или ItemHeight))

Проверил для меню - почти всё так, только max - общее количество пунктов + hgt (количество пунктов, отображаемых на экране). Тогда всё нормально отображается.

Трава 30.07.2009 21:26

Ответ: Lib_gui32 - Многострадальные окна
 
Прикольно. :) Молоток, аффтар.

GRAY_WOLF 15.11.2010 23:22

Ответ: Lib_gui32 - Многострадальные окна
 
Цитата:

Сообщение от odd (Сообщение 84626)
Первая версия библиотеки для отображения графических окон.
Оцениваем. Даем советы.
Я уже работаю над добавлением кнопок в окно и над отлавливанием нажатий на них.

Функции такие:
Код:


Init - Инициализация библиотеки. Очистка памяти и установка всех параметров в режим по умолчанию.
SetSkin(im: image) - Задать скин для окон. Скин - это маленькое изображение окна. Требования к нему такие:
    1. Скин можно условно разделить по высоте на 3 равных полоски: заголовок окна, средняя часть и низ окна.
      Все эти части должны быть одинаковой высоты (другими словами высота скина должна быть кратна 3)
    2. Ширина скина не должна быть меньше чем ширина экрана телефона.
SetWindow(x: integer; y: integer; w: integer; h: integer; c: string) - Задать окно, где будет отображаться
    наше графическое окно (x, y) - координаты левого верхнего угла; w и h - ширина и высота окна;
    с - текст заголовка окна.
   
ShowWindow - Отрисовка окна (которое было задано перед этим функцией SetWindow)
SetOffset(i: integer) - Задать отступ в пикселах
CaptionAlign(i: integer) - Задать выравнивание заголовка окна (нужно устанавливать ДО отрисовки окна)
    0 - выравнивание по левому краю окна
    1 - по центру окна
   
CaptionFont(i: integer) - Задать номер шрифта, который будет использоваться при рисовании заголовка окна
    По умолчанию будет использоваться нулевой шрифт.
   
HideWindow - Спрятать окно (восстановаить фон под окном)

Можете пока рисовать скины и выкладывать их тут для обмена.
Только не забывайте добавлять к скину шрифты для заголовка и для основного текста в окне.
Посмотрите ещё демку. Там есть пример скина:


Почему не прячется окно по HideWindow? Font32 новая.

odd 18.11.2010 18:44

Ответ: Lib_gui32 - Многострадальные окна
 
Да эта либа уже давно не обновлялась. Удивительно, что она вообще работает с новой Lib_font32.


Часовой пояс GMT +4, время: 20:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot