Box lib filebrowser/ru
Appearance
Функции
- FileBrowser_draw - рисование элемента, параметры перерисовки задаются в переменной fb_all_redraw (доступные значения 0,1,2).
- FileBrowser_mouse - эта функция должна вызываться при вводе информации с мыши.
- FileBrowser_key - выполнение действий по нажатию клавиш. Перед вызовом функции в переменной fb_key_action должно передаваться одно из значений от 1 до 12.
- version_FileBrowser - версия элемента.
Структура file_browser
Описание параметров структуры:
file_browser:
fb_type equ dword [edi]
fb_size_x equ [edi+4] ;word
fb_start_x equ [edi+6] ;word
fb_size_y equ [edi+8] ;word
fb_start_y equ [edi+10] ;word
fb_icon_size_y equ word [edi+12]
fb_icon_size_x equ word [edi+14]
fb_line_size_x equ word [edi+16]
fb_line_size_y equ word [edi+18]
fb_type_size_x equ word [edi+20]
fb_size_size_x equ word [edi+22]
fb_date_size_x equ word [edi+24]
fb_attributes_size_x equ word [edi+26]
fb_icon_assoc_area equ dword [edi+28]
fb_icon_raw_area equ dword [edi+32]
fb_resolution_raw equ dword [edi+36]
fb_palette_raw equ dword [edi+40]
fb_directory_path_area equ dword [edi+44]
fb_file_name_area equ dword [edi+48]
fb_select_flag equ dword [edi+52]
fb_background_color equ dword [edi+56]
fb_select_color equ dword [edi+60]
fb_seclect_text_color equ dword [edi+64]
fb_text_color equ dword [edi+68]
fb_reduct_text_color equ dword [edi+72]
fb_marked_text_color equ dword [edi+76]
fb_max_panel_line equ dword [edi+80]
fb_select_panel_counter equ dword [edi+84]
fb_folder_block equ dword [edi+88]
fb_start_draw_line equ dword [edi+92]
fb_start_draw_cursor_line equ word [edi+96]
fb_folder_data equ dword [edi+98]
fb_temp_counter equ dword [edi+102]
fb_file_name_length equ dword [edi+106]
fb_marked_file equ dword [edi+110]
fb_extension_size equ dword [edi+114]
fb_extension_start equ dword [edi+118]
fb_type_table equ dword [edi+122]
fb_ini_file_start equ dword [edi+126]
fb_ini_file_end equ dword [edi+130]
fb_draw_scroll_bar equ dword [edi+134]
fb_font_size_y equ word [edi+138]
fb_font_size_x equ word [edi+140]
fb_mouse_keys equ dword [edi+142]
fb_mouse_keys_old equ dword [edi+146]
fb_mouse_pos equ dword [edi+150]
fb_mouse_keys_delta equ dword [edi+154]
fb_mouse_key_delay equ dword [edi+158]
fb_mouse_keys_tick equ dword [edi+162]
fb_start_draw_cursor_line_2 equ word [edi+166]
fb_all_redraw equ dword [edi+168]
fb_selected_BDVK_adress equ dword [edi+172]
fb_key_action equ dword [edi+176]
fb_name_temp_area equ dword [edi+180]
fb_max_name_temp_size equ dword [edi+184]
fb_display_name_max_length equ dword [edi+188]
fb_draw_panel_selection_flag equ dword [edi+192]
fb_mouse_pos_old equ dword [edi+196]
fb_marked_counter equ dword [edi+200]
fb_type- тип элемента, если:- 0 - открыть,
- 1 - сохранить,
- 2 - выбрать директорию
fb_size_x- ширина элемента (без скроллинга).fb_start_x- отступ слева (положение по x)fb_size_y- высота элемента.fb_start_y- отступ сверху (положение по y)fb_icon_size_y- высота иконки.fb_icon_size_x- ширина иконки.fb_line_size_y- высота линии.fb_type_size_x- ширина колонки с типом файлов (зарезервировано, пока не используется).fb_size_size_x- ширина колонки с размером файлов (зарезервировано, пока не используется).fb_date_size_x- ширина колонки с датой файлов (зарезервировано, пока не используется).fb_attributes_size_x- ширина колонки с атрибутами файлов (зарезервировано, пока не используется).fb_icon_raw_area- данные для отображения иконок.fb_resolution_raw- колличество бит на пиксель в данных для отображения иконок.fb_background_color- цвет фона.fb_select_color- цвет курсора.fb_select_flag- 0,1.fb_max_panel_line- максимальное число строк в окне.fb_select_panel_counter- 0 - панель не в фокусе, 1 - панель в фокусе.fb_folder_block- количество блоков данных входа каталога (БДВК).fb_start_draw_line- номер первого отображаемого в окне файла или папки (номерация начинается с 0).fb_start_draw_cursor_line- позиция курсора для выбора файла или папки (координата y в пикселях относительно fb_start_y).fb_folder_data- буфер с информацией о файлах.fb_type_table- указатель на память для заполнения строки с типом, размером и датой файла.fb_ini_file_start- начало данных с расширениями и номерами иконок, получаемых из *.ini файла. Пример формата данных:
<dir>=0\n
<up>=1\n
<dic>=3\n
<doc>=3\n
...
src=61\n
vox=74\0fb_ini_file_end- начало данных с расширениями и номерами иконок, получаемых из *.ini файла.fb_draw_scroll_bar- параметр необходимости обновления дочернего скроллинга:- 0 - дочерний скроллинг обновлять не нужно,
- 1 - изменилась позиция fb_start_draw_line и нужно обновить дочерний скроллинг.
fb_mouse_keys_delta- 0,1,2,3.fb_all_redraw- параметр для функции FileBrowser_draw, задает параметры перерисовки:- 0 - текст,
- 1 - все окно,
- 2 - иконки с текстом.
fb_key_action- код клавиатурного события для функции FileBrowser_key, возможные значения:- 1 - стрелка вниз
- 2 - стрелка вверх
- 3 - PageDown
- 4 - PageUp
- 5 - Home
- 6 - End
- 7 - Enter
- 8 - Insert (выделение файла)
- 9 - Ctrl+A выделить все файлы
- 10 - отменить выделение файлов
- 11 - обратить выделение файлов
- 12 - поиск по букве
fb_draw_panel_selection_flag- внутренняя переменная, определяет с каким фоном будет рисоваться текст (fb_background_color или fb_select_color).