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

Discussing libraries simplifying applications development
  • Mario_r4 wrote:
    Leency wrote:а включать код скроллбара в каждую программу
    прогрессбара, не?
    Да, прогрессбара. Только проснулся.
    Из хаоса в космос
  • SVN r. 3470-3471 - компонент Frame (Рамка).

    Как пример использования - программа Desktop
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Не могу нормально прикрутить прогрессбар к Лизе.

    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?
    В аттаче две версии. Разница в одной лишь этой строке.
    Attachments
    liza.zip (22.68 KiB)
    Downloaded 244 times
    Из хаоса в космос
  • 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 предполагается вызывать, когда необходимо перерисовать весь компонент, например, при перерисовке всего окна.
  • Вопрос простой: где взять описания функций(точнее даже структуры для компонентов ). Как-то раз пользовался, но всё выдирал из чужих исходников.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • По идее должно быть тут: http://wiki.kolibrios.org/wiki/Box_lib/ru ,
    или на svn в папке (root)/programs/develop/libraries/box_lib/trunk/doc/ .
    Но там есть не все элементы.
  • Значительно больше, чем ничего) Спасибо.
    Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!
  • Исправленный пример http://websvn.kolibrios.org/filedetails ... box_ex.asm

    Ранее не работал из-за удаления старой версии Check_box'а
    Attachments
    editbox_ex.asm (6.34 KiB)
    Downloaded 215 times
  • lordok-gr
    Попроси у админов доступа на SVN, да и залей. Будешь как Великий Нехочука настоящий разработчик.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • 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?
  • lordok-gr wrote:Что делает op_flag_en=10b?
    Заменяет в коде op_flag_en на значение 10b, что-то наподобие директивы define в C++
  • IgorA wrote:
    lordok-gr wrote:Что делает op_flag_en=10b?
    Заменяет в коде op_flag_en на значение 10b, что-то наподобие директивы define в C++
    Нет, а почему именно так и здесь?

    Планируется ли в ближайшее время переписывание Option_box, как это было с Check_box2?
  • SVN r. 3733 - Box_Lib MenuBar - type 1

    Потребовалось динамически менять содержимое отображаемое меню. Пример - список дисков в OpenDialog.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • SVN r.3811 теперь компонент FileBrowser возвращает в своей структуре текущее значение указателя входа fb_selected_BDVK_adress после любого вызова к его функциям. Это потребовалось для нового OpenDialog.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 5 guests