Page 17 of 29

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 предполагается вызывать, когда необходимо перерисовать весь компонент, например, при перерисовке всего окна.

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed May 29, 2013 10:58 pm
by GerdtR
Вопрос простой: где взять описания функций(точнее даже структуры для компонентов ). Как-то раз пользовался, но всё выдирал из чужих исходников.

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed May 29, 2013 11:09 pm
by IgorA
По идее должно быть тут: http://wiki.kolibrios.org/wiki/Box_lib/ru ,
или на svn в папке (root)/programs/develop/libraries/box_lib/trunk/doc/ .
Но там есть не все элементы.

Re: box_lib.obj - библиотека gui компонентов

Posted: Sat Jun 01, 2013 12:58 am
by GerdtR
Значительно больше, чем ничего) Спасибо.

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Jun 21, 2013 6:20 pm
by lordok-gr
Исправленный пример http://websvn.kolibrios.org/filedetails ... box_ex.asm

Ранее не работал из-за удаления старой версии Check_box'а

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Jun 21, 2013 6:34 pm
by Mario_r4
lordok-gr
Попроси у админов доступа на SVN, да и залей. Будешь как Великий Нехочука настоящий разработчик.

Re: box_lib.obj - библиотека gui компонентов

Posted: Tue Jun 25, 2013 6:50 pm
by lordok-gr

Code: Select all

struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
{        ;структура параметров для чек бокса
op_flag_en=10b
.option_group: dd point_gr
.left: dw left       ;+0 ;положение по х
.top:  dw top        ;положение по у
.ch_text_margin:  dd op_text_margin ;расстояние от прямоугольника чек бокса до надписи
.ch_size: dd op_size ;размер квадрата чек бокса, для примера 12
.color:   dd color   ;цвет внутри чекбокса
.border_color: dd border_color ;цвет рамки
.text_color:   dd text_color   ;цвет надписи
.text: dd text                 ;адрес в коде программы где расположен текст
.ch_text_length: dd op_text_length ;длинна строки с символами
.flags: dd flags+0   ; флаги
}
Что делает op_flag_en=10b?

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed Jun 26, 2013 2:53 pm
by IgorA
lordok-gr wrote:Что делает op_flag_en=10b?
Заменяет в коде op_flag_en на значение 10b, что-то наподобие директивы define в C++

Re: box_lib.obj - библиотека gui компонентов

Posted: Wed Jun 26, 2013 4:03 pm
by lordok-gr
IgorA wrote:
lordok-gr wrote:Что делает op_flag_en=10b?
Заменяет в коде op_flag_en на значение 10b, что-то наподобие директивы define в C++
Нет, а почему именно так и здесь?

Планируется ли в ближайшее время переписывание Option_box, как это было с Check_box2?

Re: box_lib.obj - библиотека gui компонентов

Posted: Sun Jun 30, 2013 5:22 am
by Mario_r4
SVN r. 3733 - Box_Lib MenuBar - type 1

Потребовалось динамически менять содержимое отображаемое меню. Пример - список дисков в OpenDialog.

Re: box_lib.obj - библиотека gui компонентов

Posted: Fri Jul 12, 2013 10:13 am
by Mario_r4
SVN r.3811 теперь компонент FileBrowser возвращает в своей структуре текущее значение указателя входа fb_selected_BDVK_adress после любого вызова к его функциям. Это потребовалось для нового OpenDialog.