Page 16 of 29
Re: box_lib.obj - библиотека gui компонентов
Posted: Fri Mar 08, 2013 4:14 pm
by Mario_r4
0CodErr wrote:Передвинуть ползунок до конца вниз, нажать на скроллбаре кнопку со стрелочкой вниз.
Исправлено в SVN r. 3353.
Кстати пример вот в таком виде намного более удобен для восприятия:
Я имею ввиду оформление и использование mcall
Re: box_lib.obj - библиотека gui компонентов
Posted: Fri Mar 08, 2013 9:21 pm
by Mario_r4
SVN r. 3358 - EditBox учитывает нажатые клавиши Win (и перестает принимать символы), это правильно работает лишь для ядра r.3356 или последующих. Поскольку используется флаги индикации Win клавиш, получаемых ф.66.3
Re: box_lib.obj - библиотека gui компонентов
Posted: Sat Mar 09, 2013 11:45 am
by Mario_r4
Проблема все-же не в скроллбаре, а в невалидном для RTFREAD файле. На видео достаточно отчетливо видна куча кракозябр, вероятно это табличное или еще какое-то форматирование. Сам открываемый файл на рассмотрение не предоставлен. RTFREAD поддерживает собственно формат RTF не полностью. Когда открывается обычный - даже очень большой файл (к примеру у меня есть мануал Fasm на русском языке в формате RTF), то такого эффекта не наблюдается. Показанный пример считаю бездоказательным в отношении предполагаемого бага в scrollbar.
Re: box_lib.obj - библиотека gui компонентов
Posted: Mon Apr 01, 2013 10:52 am
by Mario_r4
Для приложения Desktop я "изобрел" элемент Frame (рамка).
viewtopic.php?f=42&t=1509&start=17
Имеет ли смысл сделать такой элемент в библиотеку? Будет ли востребовано?
Re: box_lib.obj - библиотека gui компонентов
Posted: Tue Apr 02, 2013 12:28 am
by Leency
Судя по весьма неплохому результату, элемент ободок в библиотеке не помешает.
Re: box_lib.obj - библиотека gui компонентов
Posted: Tue Apr 02, 2013 12:56 am
by Mario_r4
Leency wrote:Судя по весьма неплохому результату, элемент ободок в библиотеке не помешает.
Требуется дизайнерский пиксельхантинг, может там полоски местами переставить или еще чего? А то у нас хардкордных программистов
квадратно-гнездовой прямоугольный способ построения плоскостей элементов.
Re: box_lib.obj - библиотека gui компонентов
Posted: Tue Apr 02, 2013 1:27 am
by Leency
И так нормально.
Re: box_lib.obj - библиотека gui компонентов
Posted: Thu Apr 11, 2013 12:01 pm
by 0CodErr
Идея. Добавить в библиотеку ProgressBar.
Мой вариант:
Spoiler:
-
- pb_lib.obj должен быть в "/sys/lib"
Downloaded 441 times
Почему-то, когда окно активное, скриншотер его сворачивает, и скриншот не получается.
Re: box_lib.obj - библиотека gui компонентов
Posted: Thu Apr 11, 2013 12:19 pm
by Mario_r4
0CodErr
У тебя есть аккаунт SVN? Если есть прикрути, если нет аккаунта, то нужно попросить у админов.
Я сам давно хотел выдрать код из KFM и прикрутить в качестве компонента, но руки не дошли.
Re: box_lib.obj - библиотека gui компонентов
Posted: Fri Apr 12, 2013 2:27 pm
by Leency
0CodErr
Выглядит хорошо внешне, в API пока не смотрел. Мне пришлось изобрести свой прогрессбар - можно увидеть в Лизе и ещё двум программам он уже нужен, а включать код прогрессбара в каждую - дополнительные расходы. Так что я за добавление.
Re: box_lib.obj - библиотека gui компонентов
Posted: Fri Apr 12, 2013 2:27 pm
by Mario_r4
Leency wrote:а включать код скроллбара в каждую программу
прогрессбара, не?
Re: box_lib.obj - библиотека gui компонентов
Posted: Fri Apr 12, 2013 2:29 pm
by Leency
Mario_r4 wrote:Leency wrote:а включать код скроллбара в каждую программу
прогрессбара, не?
Да, прогрессбара. Только проснулся.
Re: box_lib.obj - библиотека gui компонентов
Posted: Tue Apr 16, 2013 3:21 am
by Mario_r4
SVN r. 3470-3471 - компонент Frame (Рамка).
Как пример использования - программа
Desktop
Re: box_lib.obj - библиотека gui компонентов
Posted: Sat May 04, 2013 11:14 pm
by Leency
Не могу нормально прикрутить прогрессбар к Лизе.
Code: Select all
struct progressbar
{
dword
pb_value,
pb_left,
pb_top,
pb_width,
pb_height,
pb_style,
pb_min,
pb_max,
pb_back_color,
pb_progress_color,
pb_frame_color;
};
progressbar progress_bar = {0,0,0,0,0,0,0,100,0xFFFfff,0x54B1D6,0};
void DrawProgressBar(dword st_x, st_y, st_w, st_h, progress_percent, status_text)
{
progress_bar.pb_value = progress_percent;
progress_bar.pb_left = st_x;
progress_bar.pb_top = st_y;
progress_bar.pb_width = st_w;
progress_bar.pb_height = st_h;
progress_bar.pb_frame_color = sc.work_graph;
//progressbar_draw stdcall (#progress_bar);
progressbar_progress stdcall (#progress_bar);
}
Если раскомиттить строку
//progressbar_draw stdcall (#progress_bar);, то программа начинает падать вообще в другом месте. Может я делаю что не так? Когда нужно использовать progressbar_draw и когда progressbar_progress?
В аттаче две версии. Разница в одной лишь этой строке.
Re: box_lib.obj - библиотека gui компонентов
Posted: Sun May 05, 2013 12:50 am
by 0CodErr
progressbar_draw — перерисовывает полностью весь компонент.
progressbar_progress — увеличивает value и рисует следующую часть.
progressbar отображает, какое количество действий(работы) уже выполнено.
progressbar_progress нужно вызывать, когда произошло очередное действие.
Сначала задать min и max — минимальное(стартовое) и максимальное(конечное) количество действий. А потом начать выполнять сами действия.
Code: Select all
While WorkNotComplete
NextWork
If isComplete(CurrentWork) then progressbar_progress
EndWhile
progressbar_draw предполагается вызывать, когда необходимо перерисовать весь компонент, например, при перерисовке всего окна.