Difference between revisions of "Box lib editbox/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
m (новая функция edit_box_set_text)
Line 6: Line 6:
 
*'''edit_box_key''' - эта функция должна вызываться при вводе информации с клавиатуры
 
*'''edit_box_key''' - эта функция должна вызываться при вводе информации с клавиатуры
 
*'''edit_box_mouse''' - эта функция должна вызываться при вводе информации с мыши
 
*'''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''' - версия элемента
 
*'''version_ed''' - версия элемента
  

Revision as of 18:25, 17 September 2010

Введение

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

Функции

  • 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 - текстовое поле в фокусе.