Subversion Repositories Kolibri OS

Rev

Rev 1685 | Go to most recent revision | 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

Введение

1685 lrz 11
    

Version 2

12

Функции 2

13
    14
  • init_checkbox2
  • 15
  • check_box_draw2
  • 16
  • check_box_mouse2
  • 17
  • version_ch2
  • 18
    19

    20

    Version 1

    1374 IgorA 21

    Функции

    22
      23
    • check_box_draw
    • 24
    • check_box_mouse
    • 25
    • version_ch
    • 26
      27

      Структура checkbox

      28

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

      29
       
      30

      Введение

      1685 lrz 31

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

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

      33

      Checkbox version 2

      34

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

      35
        36
      • Поддержка ASCIIZ строк.
      • 37
      • Появился код инициализации бокса, что уменьшает задержки при обработки событий мышки.
      • 38
      • Оптимизированна структура компонента, при неизменном размере.
      • 39
      • Написаны макросы, которые позволяют работать с группами checkbox.
      • 40
        1374 IgorA 41
         
        1685 lrz 42
         
        43

        Функции2

        44
         
        45

        init_checkbox2

        46

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

        47
         
        48

        check_box_draw2

        49

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

        50
         
        51

        check_box_mouse2

        52

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

        53
         
        54

        version_ch2

        55

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

        56
         
        57

        Структура checkbox2

        1714 IgorA 58

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

        1685 lrz 59
        struc check_box2 left_s,top_s,ch_text_margin,color,border_color,text_color,text,flags
        60
        {				;структура параметров для чек бокса
        61
        .left_s: 	dd left_s	;+0 положение по х dw + размер dw
        62
        .top_s:  	dd top_s	;+4 положение по у dw + размер dw
        63
        .ch_text_margin: dd ch_text_margin ;расстояние от прямоугольника чек бокса до надписи
        64
        .color:   	dd color	;цвет внутри чекбокса
        65
        .border_color: 	dd border_color	;цвет рамки
        66
        .text_color:	dd text_color	;цвет надписи должен быть в формате цвет or 0x80000000, это для отображения ASCIIZ строк.
        67
        .text: 		dd text		;адрес в коде программы где расположен текст
        68
        .flags:		dd flags+0	;флаги
        69
        .size_of_str:	dd 0x0		;длинна строки, вычисляется при инициализации компонента
        70
        }
        71
        1714 IgorA 72

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

        73

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

        1685 lrz 74

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

        75

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

        76
         
        77

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

        78
         
        1714 IgorA 79

        ch_flag_en = 10b

        80

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

        81

        ch_flag_top = 0x0

        82

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

        83

        ch_flag_middle = 100b

        84

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

        85

        ch_flag_bottom = 1000b

        86

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

        1685 lrz 87
         
        88
         
        1714 IgorA 89
         
        1685 lrz 90

        Checkbox version 1

        91

        Version 1 была разработана в 2007-2009 годах.

        1374 IgorA 92

        Функции

        93
         
        94

        check_box_draw

        95

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

        96
         
        97

        check_box_mouse

        98

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

        99
         
        100

        version_ch

        101

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

        102
         
        103

        Структура checkbox

        104
        struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
        105
        {        ;структура параметров для чек бокса
        106
        .left:    dw left    ;+0
        107
        .top:     dw top     ;+2
        108
        .ch_text_margin: dd ch_text_margin ;+4
        109
        .ch_size: dd ch_size ;+8
        110
        .color:   dd color   ;+12
        111
        .border_color: dd border_color ;цвет рамки
        112
        .text_color:   dd text_color   ;цвет надписи
        113
        .text:         dd text         ;адрес в коде программы где расположен текст
        114
        .ch_text_length: dd ch_text_length ;длинна строки с символами
        115
        .flags: dd flags+0   ;флаги
        116
        }
        117

        left - отступ слева (положение по x).

        118

        top - отступ сверху (положение по y).

        119

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

        120

        ch_size - размер квадрата чек бокса, как стандартное значение было принято 12.

        121

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

        122
         
        123

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

        124
         
        125

        ch_flag_en

        126

        Флажок выбран.

        127
         
        128

        1714 IgorA 129

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

        1374 IgorA 130
        131