Box lib editbox/ru

From KolibriOS wiki
Revision as of 18:25, 17 September 2010 by IgorA (talk | contribs) (новая функция edit_box_set_text)
Jump to navigation Jump to search

Введение

Текстовое поле, используется при вводе текстовой/числовой информации.

Функции

  • edit_box_key - эта функция должна вызываться при вводе информации с клавиатуры
  • edit_box_mouse - эта функция должна вызываться при вводе информации с мыши
  • edit_box_draw - эта функция должна вызываться при перерисовке элемента.
  • edit_box_set_text - эта функция копирует текст из указателя в текстовое поле. Если текст в указателе окажется длиннее чем допустимый в элементе edit_box, то он запишется не весь. После вызова данной функции необходимо перерисовать окно функцией edit_box_draw, иначе изменения будут сразу не видны. Пример использования:

<asm>push dword buf push dword edit1 call dword [edit_box_set_text] ......... buf db '111-222-333',0</asm> где edit1 - структура элемента edit_box; buf - буфер, в котором содержится устанавливаемый текст.

  • version_ed - версия элемента

Структура editbox

<asm>struc edit_box width,left,top,color,shift_color,focus_border_color,\

      blur_border_color,text_color,max,text,mouse_variable,flags,size,pos

{ .width dd width .left dd left .top dd top .color dd color .shift_color dd shift_color .focus_border_color dd focus_border_color .blur_border_color dd blur_border_color .text_color dd text_color .max dd max .text dd text .mouse_variable dd mouse_variable .flags dd flags+0 .size dd size+0 .pos dd pos+0 .offset dd 0 .cl_curs_x dd 0 .cl_curs_y dd 0 .shift dd 0 .shift_old dd 0 }</asm>

  • width - ширина элемента
  • left - отступ слева (положение по x)
  • top - отступ сверху (положение по y)
  • color - цвет фона
  • shift_color - цвет выделения при удерживании [Shift] или мышкой
  • focus_border_color - цвет рамки когда поле в фокусе
  • blur_border_color - цвет рамки когда поле не в фокусе
  • text_color - цвет текста

Стили элемента

  • ed_figure_only - разрешается ввод чисел от 0 до 9.
  • ed_focus - текстовое поле в фокусе.