Subversion Repositories Kolibri OS

Rev

Rev 1714 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1374 IgorA 1
2
3
элемент Check Box
4
5
6
7
8

На главную ↑

9

Оглавление

10

Введение

9610 IgorA 11

Функции

1685 lrz 12
    13
  • init_checkbox2
  • 14
  • check_box_draw2
  • 15
  • check_box_mouse2
  • 9610 IgorA 16
  • version_ch
  • 1685 lrz 17
    1374 IgorA 18

    Структура checkbox

    19

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

    20
     
    21

    Введение

    1685 lrz 22

    Checkbox предназначен для установки, снятия флага активности процесса. Часто

    23
        используется для включения / выключения тех или иных функций.

    9610 IgorA 24

    Version 1 была разработана в 2007-2009 годах. Version 2 была разработана в 2010 году и является переработанной и оптимизированной версией. Основные отличия от версии 1:

    1685 lrz 25
      26
    • Поддержка ASCIIZ строк.
    • 27
    • Появился код инициализации бокса, что уменьшает задержки при обработки событий мышки.
    • 28
    • Оптимизированна структура компонента, при неизменном размере.
    • 29
    • Написаны макросы, которые позволяют работать с группами checkbox.
    • 30
      1374 IgorA 31
       
      1685 lrz 32
       
      9610 IgorA 33

      Функции

      1685 lrz 34
       
      35

      init_checkbox2

      36

      Эта функция должна вызыватся при инициализации приложения, фактически она считает колличество символов в стоке для вывода. Если не нужно выводить подписи к checkbox, то ее можно не вызывать.

      37
       
      38

      check_box_draw2

      39

      Эта функция должна вызыватся при вводе информации с клавиатуры.

      40
       
      41

      check_box_mouse2

      42

      Эта функция должна вызыватся при вводе информации с мыши.

      43
       
      9610 IgorA 44

      version_ch

      1685 lrz 45

      Версия элемента

      46
       
      9610 IgorA 47

      Структура checkbox

      1714 IgorA 48

      Размер структуры checkbox2 указан внутри файла box_lib.mac в параметре ch_struc_size.

      1685 lrz 49
      struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
      50
      {				;структура параметров для чек бокса
      51
      .left_s: 	dd left_s	;+0 положение по х dw + размер dw
      52
      .top_s:  	dd top_s	;+4 положение по у dw + размер dw
      53
      .ch_text_margin: dd ch_text_margin ;расстояние от прямоугольника чек бокса до надписи
      54
      .color:   	dd color	;цвет внутри чекбокса
      55
      .border_color: 	dd border_color	;цвет рамки
      56
      .text_color:	dd text_color	;цвет надписи должен быть в формате цвет or 0x80000000, это для отображения ASCIIZ строк.
      57
      .text: 		dd text		;адрес в коде программы где расположен текст
      58
      .flags:		dd flags+0	;флаги
      59
      .size_of_str:	dd 0x0		;длинна строки, вычисляется при инициализации компонента
      60
      }
      61
      1714 IgorA 62

      left_s - отступ слева + ширина (в формате: положение по x * 65536 + длинна по х).

      63

      top_s - отступ сверху + высота (в формате: положение по y * 65536 + длинна по y).

      1685 lrz 64

      ch_text_margin - расстояние от прямоугольника чек бокса до надписи.

      65

      color - цвет внутри чекбокса.

      66
       
      67

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

      68
       
      1714 IgorA 69

      ch_flag_en = 10b

      70

      Флаг установленного чек бокса.

      71

      ch_flag_top = 0x0

      72

      Флаг расположения текста вверху т.е. 3-й бит.

      73

      ch_flag_middle = 100b

      74

      Флаг расположения текста в центре т.е. 4-й бит.

      75

      ch_flag_bottom = 1000b

      76

      Флаг расположения текста в низу т.е. по умолчанию принимается значение внизу т.е. отсуствие 3-го и 4-го бита

      1685 lrz 77
       
      1374 IgorA 78

      9610 IgorA 79

      Документация обновлялась последний раз 10.01.22.

      1374 IgorA 80
      81