众包的GUI。公开测试。 - 页 6

 

这些都是基础知识。 一套你必须知道的规则。这里是文件。(集会中也有一个)。

//+------------------------------------------------------------------+
//|                                                           УРОК 1 |
//|                                                      Peter Konow |
//|                                                                  |
//+------------------------------------------------------------------+
//---------------------------------
//УРОК 1.   
//---------------------------------

//---------------------------------
//СОДЕРЖАНИЕ:
//---------------------------------
1.   СОЗДАНИЕ ФОРМЫ ОКНА.

2.   ПРАВИЛА СОЗДАНИЯ ГРУПП ЭЛЕМЕНТОВ.

3.   ПРАВИЛА СОЗДАНИЯ ЭЛЕМЕНТОВ.

4.   ТИПЫ ЭЛЕМЕНТОВ.
//---------------------------------



//--------------------------------------------------------------------------------------------------+
//1. СОЗДАНИЕ ФОРМЫ ОКНА: 
//--------------------------------------------------------------------------------------------------+ 
ПОСЛЕДОВАТЕЛЬНОСТЬ КОММАНД:

1. ОБЪЯВЛЯЕМ НОВОЕ ОКНО: NEW_WINDOW,

2. ИМЕНУЕМ ОКНО:         W_NAME, "Window 1",

3. ВЫБИРАЕМ ИКОНКУ ОКНА ИЗ ОКНА ИКОНОК КОНСТРУКТОРА (ВЫЗЫВАЕТСЯ ДАБЛ-КЛИКОМ НА ГРАФИК) И ПРОПИСЫВАЕМ : W_LABEL, "::Images\\some_icon.bmp", 

4. УСТАНАВЛИВАЕМ ТИП ОКНА -  W_TYPE, SETTINGS, (ИЛИ DINAMIC, MENU, DIALOG).

//--------------------------------------------------------------------------------------------------+ 
NEW_WINDOW,     W_NAME, "Window 1",      W_LABEL, "::Images\\some_icon.bmp",       W_TYPE, SETTINGS,
//--------------------------------------------------------------------------------------------------+

5. ПОСЛЕ ОБЪЯВЛЕНИЯ ОКНА, ЗАВЕРШАЕМ ЕГО КОММАНДОЙ END_WINDOW,
//--------------------------------------------------------------------------------------------------+


//---------------------------------------------------------------------------------------------------
ОБЪЯВЛЕНИЕ ГРУПП ЭЛЕМЕНТОВ:
//---------------------------------------------------------------------------------------------------
1. ВСЕ ЭЛЕМЕНТЫ СУЩЕСТВУЮТ ТОЛЬКО В СВОИХ ГРУППАХ.

2. ВСЕ ГРУППЫ ОБЪЯВЛЯЮТСЯ КОММАНДОЙ GROUP И ОБЯЗАНЫ ИМЕТЬ ИМЯ. (ЕСЛИ ИМЯ НЕСУЩЕСТВЕННО, СТАВИТЬ А. без кавычек)

   GROUP, "Main tabs", или GROUP, A,


3. ВСЕ ГРУППЫ ЗАВЕРШАЮТСЯ КОММАНДОЙ END_GROUP.

4. ПОСЛЕ END_GROUP ПИШЕТСЯ ПОЗИЦИЯ ГРУППЫ И СВОЙСТВА ЭЛЕМЕНТОВ.

5. ГРУППА ОБЯЗАНЫ БЫТЬ ПОЗИЦИОНИРОВАНА. ДЛЯ ЭТОГО ИСПОЛЬЗУЕТСЯ ПРОСТОЙ МЕТОД:

i,(символ группы), AT, (ПОЗИЦИЯ) _Х2 Х, (ТИП ПРИВЯЗКИ)  "name", (ИМЯ ОБЪЕКТА ПРИВЯЗКИ) 0 (ПОПРАВКА) И ТОЖЕ САМОЕ ДЛЯ ОСИ Y. 
//--------------------------------------------------------------------------------------------------+ 
         i, AT, _X2X, "MF", 5, _Y2Y, "MF",5,   ("MF" - ОЗНАЧАЕТ MAIN FRAME ОКНА,  5 - ПОПРАВКА)
//--------------------------------------------------------------------------------------------------+   
       
//--------------------------------------------------------------------------------------------------+
ПРИНЦИПЫ ПОСТРОЕНИЯ ГРУПП:

1. ЖЕЛАТЕЛЬНО, СТРОИТЬ ТАБЛИЧНУЮ РАСКЛАДКУ ЭЛЕМЕНТОВ ВНУТРИ ГРУПП - СТАВИТЬ РАВНОЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ В РЯДУ, - ОДНАКО, МОГУТ БЫТЬ ИСКЛЮЧЕНИЯ.

2. СТРОКА ОБЪЯВЛЕНИЙ ЭЛЕМЕНТОВ - ЭТО РЯД. (Ряд начинается со знака __,). 

3. КАЖДЫЙ ЭЛЕМЕНТ ОБЯЗАН ИМЕТЬ ИМЯ. ЭТО МОЖЕТ БЫТЬ ИМЯ СОБСТВЕННОЕ ИЛИ АБСТРАКТНОЕ A. ИМЯ СОБСТВЕННОЕ СТАВИТСЯ В КАВЫЧКИ. 

4. ВНУТРИ СТРОКИ ОБЪЯВЛЯЕНИЯ ЭЛЕМЕНТОВ, МОЖНО ПРОПИСЫВАТЬ УСТАНОВКИ ИХ ИНДИВИДУАЛЬНЫХ СВОЙСТВ. 

5. ПРИ УСТАНОВКИ СВОЙСТВ ВНУТРИ СТРОКИ ЭЛЕМЕНТОВ, СВОЙСТВА ПЕРЕЧЕСЛЯЮТСЯ ЧЕРЕЗ ЗНАК _, КОТОРЫЙ ОТСЫЛАЕТ КОНСТРУКТОР К НУЖНОМУ ЭЛЕМЕНТУ. 

__, M_ITEM, "M_ITEM 1", N_LABEL,"::Images\\some_icon.bmp", _,N_COLOR,(int)clrWhite,_,NB_COLOR,(int)clrWhite,_,AB_COLOR,(int)clrWhite, _,KC_TEXT,"Cntrl+Shift",

   В ИТОГЕ ПОЛУЧАЕТСЯ ЦЕПОЧКА СВОЙСТВ. ЕЕ МОЖНО ПЕРЕНОСИТЬ МЕЖДУ ЭЛЕМЕНТАМИ ИЛИ КОПИРОВАТЬ.
   
6. ДЛЯ ЗАДАНИЯ ДИСТАНЦИИ МЕЖДУ ЭЛЕМЕНТАМИ В ГРУППЕ ИСПОЛЬЗУЙТЕ СЛОВА X_GAP, Y_GAP. СТАВЬТЕ ИХ ПОСЛЕ ЗАВЕРШЕНИЯ ГРУППЫ.
//-------------------
   i, X_GAP, 5,
   i, Y_GAP, 5,
//-------------------  
//--------------------------------------------------------------------------------------------------+

 !!! КРАЙНЕ ВАЖНО: ЗАПРЕЩЕНО ДАВАТЬ ЭЛЕМЕНТАМ ОДИНАКОВЫЕ НАЗВАНИЯ ВНУТРИ ОДНОГО ОКНА. 
                   ЗАПРЕЩЕНО ДАВАТЬ ГРУППАМ ОДИНАКОВЫЕ НАЗВАНИЯ ВНУТРИ ОДНОГО ОКНА.
                   
                   ИСПОЛЬЗОВАНИЯ A ВМЕСТО ИМЕНИ НЕ ПРИВОДИТ К СОВПАДЕНИЮ ИМЕН.
                   //----------------------------------------------------------------
                   
 ПРИМЕР ПОСТРОЕНИЯ ГРУППЫ:                   
//--------------------------------------------------------------------------------------------------+
GROUP, A,

__, CHECKBOX, "Checkbox 1",  CHECKBOX, "Checkbox 2", 

__, CHECKBOX, "Checkbox 3",  CHECKBOX, "Checkbox 4",

__, CHECKBOX, "Checkbox 5",  CHECKBOX, "Checkbox 6",

__, CHECKBOX, "Checkbox 7",  CHECKBOX, "Checkbox 8",  

END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
i, X_GAP, 30,
i, Y_GAP, 20,
//--------------------------------------------------------------------------------------------------+


!!! НЕ ЗАБЫВАЙТЕ ЗАВЕРШАТЬ ОКНА КОММАНДОЙ END_WINDOW И ГРУППЫ END_GROUP.



НИЖЕ ПРИВЕДЕНЫ ТИПЫ ЭЛЕМЕНТОВ:

//-------------------------------------------------------------
 M_ITEM    ЭЛЕМЕНТ ОКОН МЕНЮ.                                 
//-------------------------------------------------------------
 M_SEP     РАЗДЕЛИТЕЛЬ ПУНКТОВ МЕНЮ. СТАВИТСЯ МЕЖДУ НИМИ В ГРУППЕ.                                  
//-------------------------------------------------------------
 CHECKBOX  ОБЫЧНЫЙ ЧЕКБОКС.                                  
//-------------------------------------------------------------
 R_BUTTON  ОБЫЧНАЯ РАДИО-КНОПКА.                                   
//-------------------------------------------------------------
 S_EDIT    ПОЛЕ ВВОДА С КНОПКАМИ. СЛУЖИТ ДЛЯ ПЕРЕКЛЮЧЕНИЯ ЦИФР.                                  
//-------------------------------------------------------------
 D_LIST    ВЫПАДАЮЩИЙ СПИСОК С ПУНКТАМИ С ПОЛЕМ ВВОДА.                                   
//-------------------------------------------------------------
 C_LIST    ВЫПАДАЮЩИЙ СПИСОК БЕЗ БЕЗ ПОЛЯ ВВОДА.                                    
//-------------------------------------------------------------
 G_FRAME   РАМКА ДЛЯ ГРУППЫ С НАЗВАНИЕМ. ИМЕЕТ СВОИ ПРАВИЛА ПОЗИЦИОНИРОВАНИЯ.                                 
//-------------------------------------------------------------
 H_SEP     ГОРИЗОНТАЛЬНЫЙ РАЗДЕЛИТЕЛЬ. ЛИНИЯ ПОХОЖАЯ НА БОРОЗДУ.                                  
//-------------------------------------------------------------
 V_SEP     ВЕРТИКАЛЬНЫЙ РАЗДЕЛИТЕЛЬ.                                   
//-------------------------------------------------------------
 BUTTON    ОБЫЧНАЯ КНОПКА. ИМЕЕТ ТЕКСТ И ИКОНКУ.                                    
//------------------------------------------------------------- 
 TB_BUTTON ТИП КНОПКИ. ПРИЛИПАЕТ ПРИ НАВЕДЕНИЯ КУРСОРА. ИМЕЕТ ТЕКСТ И ИКОНКУ.  
 //------------------------------------------------------------- 
 D_BUTTON  КНОПКА ДЛЯ ДИАЛОГОВЫХ ОКОН - ДА, НЕТ, ОТМЕНА...                                  
//-------------------------------------------------------------
 I_BUTTON  ТИП КНОПКИ.   ИМЕЕТ ТЕКСТ И ИКОНКУ.                                
//-------------------------------------------------------------
SQ_BUTTON  ТИП КНОПКИ.   
//-------------------------------------------------------------
 EDIT      ОБЫЧНОЕ ПОЛЕ ВВОДА ДЛЯ ЛЮБЫХ ТЕКСТОВ.                                  
//-------------------------------------------------------------
 V_BOX     КАНВАС С ПРОКРУТКОЙ - НЕСЕТ ЛЮБЫЕ ГРУППЫ ЭЛЕМЕНТОВ.                                 
//-------------------------------------------------------------
 H_SLIDER  ГОРИЗОНТАЛЬНЫЙ СЛАЙДЕР. МОЖЕТ ВКЛЮЧАТЬСЯ ТАБЛО С ЦИФРАМИ.                                    
//-------------------------------------------------------------
 V_SLIDER  ВЕРТИКАЛЬНЫЙ СЛАЙДЕР. МОЖЕТ ВКЛЮЧАСТСЯ ТАБЛО С ЦИФРАМИ.                                 
//-------------------------------------------------------------
 T_HEADER  ЗАГОЛОВОЧНАЯ ЯЧЕЙКА ЛЮБЫХ ТАБЛИЦ. НИГДЕ БОЛЬШЕ НЕ ИСПОЛЬЗУЕТСЯ.                                   
//-------------------------------------------------------------
 R_HEADER  ЗАГОЛОВОЧНАЯ ЯЧЕЙКА РЯДОВ ТАБЛИЦ. НИГДЕ БОЛЬШЕ НЕ ИСПОЛЬЗУЕТСЯ.                                 
//-------------------------------------------------------------
 C_HEADER  ЗАГОЛОВОЧНАЯ ЯЧЕЙКА КОЛОНОК ТАБЛИЦ. НИГДЕ БОЛЬШЕ НЕ ИСПОЛЬЗУЕТСЯ.                                   
//-------------------------------------------------------------
 CELL      ОБЫКНОВЕННАЯ ЯЧЕЙКА. ИМЕЕТ ТЕКСТ И ИКОНКУ.                                   
//-------------------------------------------------------------
 P_BAR     ПРОГРЕСС-БАР.                                    
//-------------------------------------------------------------
 FRAME    ОБЫКНОВЕННАЯ РАМКА.                                     
//-------------------------------------------------------------
 H_TAB    ГОРИЗОНТАЛЬНАЯ ВКЛАДКА. УПРАВЛЯЕТ ЯВЛЕНИЕМ ГРУПП.                                     
//-------------------------------------------------------------
 V_TAB    ГОРИЗОНТАЛЬНАЯ ВКЛАДКА. УПРАВЛЯЕТ ЯВЛЕНИЕМ ГРУПП.                                     
//-------------------------------------------------------------
 H_LINE   ГОРИЗОНТАЛЬНАЯ ЛИНИЯ.                                    
//-------------------------------------------------------------
 V_LINE   ВЕРТИКАЛЬНАЯ ЛИНИЯ.                                   
//-------------------------------------------------------------
 LABEL    ИКОНКА.                                    
//-------------------------------------------------------------
 REC      ПРЯМОУГОЛЬНИК.                                     
//-------------------------------------------------------------
 M_TAB    ВКЛАДКА ГЛАВНОГО ОКНА. ОТКРЫВАЕТ ОКНА МЕНЮ.                                     
//-------------------------------------------------------------
 TIP      ВСПЛЫВАЮЩАЯ ПОДСКАЗКА.                                 
//-------------------------------------------------------------
 L_ITEM   ПУНКТ ВЫПАДАЮЩЕГО И ОБЫЧНОГО СПИСКА.                                     
//-------------------------------------------------------------
 BOARD    ОБЫКНОВЕННАЯ ТЕКСТОВАЯ МЕТКА.                                                              
//-------------------------------------------------------------                                  
T_CELL    ЯЧЕЙКА ТАБЛИЦЫ С ПРЕДОПРЕДЕЛЕННЫМ ТЕКСТОМ.                                    
//-------------------------------------------------------------
M_CHECKBOX ЧЕКБОКС ДЛЯ ОКНА МЕНЮ.                                  
//-------------------------------------------------------------
TV_ITEM   ПУНКТ ДРЕВОВИДНОГО СПИСКА.                                  
//-------------------------------------------------------------
TV_MENU   МЕНЮ ДРЕВОВИДНОГО СПИСКА.                                  
//-------------------------------------------------------------
T_FOLDER  СВОРАЧИВАТЕЛЬ ТАБЛИЦ.                                    
//-------------------------------------------------------------
G_FOLDER  СВОРАЧИВАТЕЛЬ ГРУПП.                                 
//-------------------------------------------------------------
I_TEXT    ТИП ПУНКТА СПИСКОВ.                                  
//------------------------------------------------------------- 
T_BOX     МНОГОСТРОЧНЫЙ ТЕКСТОВЫЙ БЛОК.                                       
//-------------------------------------------------------------
VALUE     ТЕКСТОВАЯ МЕТКА С ПАРАМЕТРОМ. ПЕРЕДАЕТ ЗНАЧЕНИЕ.                                    
//-------------------------------------------------------------
D_BAR    ВЕРТИКАЛЬНЫЙ ПРОГРЕСС-БАР. ИСПОЛЬЗУЕТСЯ В ДИАГРАММАХ.                                         
//-------------------------------------------------------------
                         
/**************************************************************

          
Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
附加的文件:
hiqz_1_.mqh  24 kb
 
在下一课,元素属性的类型。
 
00:03
彼得,你好,有一些评论。当我按下鼠标左键,并在按下的状态下按住它,当我从窗口区域释放它时,按钮保持按下的状态,这不应该是这样的。而当我在窗口内,按住鼠标左键将光标移出按钮区时,按钮仍处于活动状态,当我在按钮区外释放按键时,也不应该是这样。按钮被按下,松开后就能工作,如果你改变主意,把它从按钮区域移开,它就不能工作,但它对你来说是有效的。
 
Rafil Nurmukhametov:
00:03
当我按住鼠标左键并从窗口区域释放时,按钮一直被按住,这不应该是这样的。而在窗口内,当我在按钮区域内按住鼠标左键释放光标时,按钮仍然处于活动状态,当我在按钮区域外释放按钮时,也不应该是这种情况。按钮被按下,释放时被触发,如果你改变主意,你把它从按钮字段中删除,它就不工作了,但在你的情况下它就工作了。

窗口区域内没有问题。Rafil,设置你的按钮的_,FIC属性,然后再试一下。

__,BUTTON, "Button",_,FIC,

手段:固定的,如果Сlisked

 
Реter Konow:

窗口区域内没有问题。Rafil,将_,FIC属性设置为你的按钮,再试一次。

好吧,只是你还没有发布关于属性的课程,对不起,我看到一个例子......
 
Rafil Nurmukhametov:
很好,但你还没有发布关于财产的课程。

我今天会把它贴出来。在大约一个小时后。实际上,我已经解决了这个问题。按钮只有在被按下的情况下才会被按下/取消。在窗口区域,它是有效的。在窗口区域外,它可以工作,但现在我看到它已经停止了。需要修复。

按键可能会或可能不会因按下而锁定。如果你想让它被锁住 - 把属性_,FIC。

 
Rafil,安装1.4版和微软JhengHei Light字体。从标签来看,你的版本是1.3,没有正确的字体。
 

顺便说一下,要注意你的标签的属性。他们在这里。


//--------------------------------------------------------------------------------------------------------------
//УСТАНАВЛИВАЕМ СВОЙСТВА ВКЛАДОК: ЦВЕТ В АКТИВИРОВАННОМ И НЕЙТРАЛЬНОМ СОСТОЯНИИ, ТИП РАМКИ, ПАРАМЕТРЫ ГРАДИЕНТА,
// ЦВЕТ ПОД КУРСОРОМ, РАЗМЕР ШРИФТА.
//--------------------------------------------------------------------------------------------------------------
i, H_TABS,// FRAME_TYPE, _dab,

 AH_COLOR, (int)C'255,255,255', A_COLOR, (int)C'255,255,255', N_COLOR, (int)C'250,250,250', TENURED,
//----------------------------
 P_COLOR,(int)C'236,244,252',  _,N_FRAME,1,  _,A_FRAME,1,  _,NP_FRAME,1, NPG_LINES,20, NPG_STEP,1, NG_LINES,20, NG_STEP,1,  FONT_SIZE, 12,     
 
 END,
//----------------------------

在粉红色。

  • 光标下处于激活状态的颜色。
  • 激活状态下的颜色。
  • 在中性状态下的颜色。
  • 游标下的颜色(在任何状态下)。

绿色的。

  • 框架处于中性状态。
  • 框架处于激活状态。
  • 光标下的框架处于中性状态。

蓝色的。

  • 光标下处于中性状态的梯度线的数量。
  • 这个状态的梯度步骤。
  • 中性状态的梯度线的数量。
  • 这个状态的梯度步骤。
你可以去掉它,标签就会变得正常。FONT_SIZE属性改变字体大小

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 

元素属性。第 1 部分 - 基础知识。第 2 部分 - 示例。

 //+------------------------------------------------------------------+
//|                                         Lesson 2. Properties.mqh |
//|                                                      Peter Konow |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//----------------------------------------------
//УРОК 2. СВОЙСТВА ОКОН, ЭЛЕМЕНТОВ И ОБЪЕКТОВ. ОПЕРАТОРЫ SWITCH, BLOCKS. 
//----------------------------------------------

//---------------------------------
//СОДЕРЖАНИЕ:
//---------------------------------
1 .   КЛАССИФИКАЦИЯ СВОЙСТВ.

2 .   СВОЙСТВА ОКОН. 

3 .   СВОЙСТВА ЭЛЕМЕНТОВ.

4 .   СВОЙСТВА ОБЪЕКТОВ.

5 .   ПРОСТЫЕ ОПЕРАТОРЫ.

//---------------------------------


1 .  СВОЙСТВА ДЕЛЯТСЯ НА ГРУППЫ ПО НЕСКОЛЬКИМ КРИТЕРИЯМ:
//============================================================================================================================
   a) ИНДИВИДУАЛЬНЫЕ СВОЙСТВА - УСТАНАВЛИВАЮТСЯ КАЖДОМУ ЭЛЕМЕНТУ ОТДЕЛЬНО ВНУТРИ СТРОКИ ЕГО ОБЪЯВЛЕНИЯ ИЛИ ЗА ПРЕДЕЛАМИ ЕГО ГРУППЫ:
   
//---------------------------------------------
GROUP, A,  

__,REC, "R1" , W, 600 , _,H, 300 ,_,N_FRAME, 1 , _,N_COLOR,( int ) C'255,255,255' , <--  ЦЕПОЧКА ИНДИВИДУАЛЬНЫХ СВОЙСТВ ВНУТРИ СТРОКИ ОБЪЯВЛЕНИЯ ЭЛЕМЕНТА.
                                                                             (ПЕРЕЧИСЛЕНИЕ ЧЕРЕЗ ЗНАК _, ОБЯЗАТЕЛЬНО. КРОМЕ ПЕРВОГО ОТ ИМЕНИ ЭЛЕМЕНТА).
END_GROUP,
//-----------------------------------
   
//============================================================================================================================
   b) ОБЩИЕ СВОЙСТВА ОДНОТИПНЫХ ЭЛЕМЕНТОВ В ГРУППЕ - УСТНАВЛИВАЮТСЯ ВСЕМ ЭЛЕМЕНТАМ ОДНОГО ТИПА В ГРУППЕ.
   
//-------------------------------------------------------
 GROUP, "Main tabs" ,

__, H_TAB, "Цветовые настройки" ,ON,   H_TAB, "Индикаторы" ,  H_TAB, "Горячие клавиши" ,  

END_GROUP,
//----------------------------
//ПОЗИЦИЯ ГРУППЫ НА КАНВАСЕ ОКНА.
//----------------------------
i, AT, _X2X, "MF" , 5 , _Y2Y, "MF" , 5 ,
//----------------------------
   
i, H_TABS,      <----  ОБЪЯВЛЯЕМ НАЧАЛО УСТАНОВКИ СВОЙСТВ ОДНОТИПНОМУ МНОЖЕСТВУ ЭЛЕМЕНТОВ 
                                         (ПИШЕМ НАЗВАНИЕ ЭЛЕМЕНТА ВО МНОЖЕСТВЕННОМ ЧИСЛЕ).
//----------------------------
 AH_COLOR, ( int ) C'255,255,255' , 
 A_COLOR,  ( int ) C'255,255,255' , 
 N_COLOR,  ( int ) C'250,250,250' , 
 P_COLOR,  ( int ) C'236,244,252' ,  
 N_FRAME,   1 ,  
 A_FRAME,   1 ,                                <----     УСТАНОВКА СВОЙСТВ ГРУППЕ ВКЛАДОК.
 NP_FRAME,   1 , 
 NPG_LINES, 20 , 
 NPG_STEP,   1 ,                                          
 NG_LINES,   20 , 
 NG_STEP,   1 ,  
 FONT_SIZE, 12 ,                                        (ПОРЯДОК ПЕРЕЧИСЛЕНИЯ НЕ ИМЕЕТ ЗНАЧЕНИЯ).
//----------------------------
 END,                                         <----     ЗАВЕРШАЕМ МАССОВУЮ УСТАНОВКУ СВОЙСТВ.     
//----------------------------
//============================================================================================================================

    c) СВОЙСТВА, ПЕРЕД КОТОРЫМИ СТАВИТСЯ ПРЕФИКС СОСТОЯНИЯ.   СУЩЕСТВУЕТ 8 (ВОСЕМЬ) ОСНОВНЫХ СОСТОЯНИЙ ЭЛЕМЕНТА:
        
     //--------------------------------------------------------------------------------------------   
         1 ) НЕЙТРАЛЬНОЕ СОСТОЯНИЕ                                                           - ПРЕФИКС N_.
        
         2 ) НЕЙТРАЛЬНОЕ В ФОКУСЕ СОСТОЯНИЕ - ЭЛЕМЕНТ ВЫДЕЛЕН, НО НЕ АКТИВИРОВАН             - ПРЕФИКС NH_.
        
         3 ) АКТИВИРОВАННОЕ СОСТОЯНИЕ                                                        - ПРЕФИКС A_.
        
         4 ) АКТИВИРОВАННОЕ В ФОКУСЕ СОСТОЯНИЕ - ЭЛЕМЕНТ АКТИВИРОВАН И ВЫДЕЛЕН ПОЛЬЗОВАТЕЛЕМ - ПРЕФИКС AH_.
        
         5 ) БЛОКИРОВАННОЕ НЕЙТРАЛЬНОЕ СОСТОЯНИЕ                                             - ПРЕФИКС NB_.
        
         6 ) БЛОКИРОВАННОЕ АКТИВИРОВАННОЕ СОСТОЯНИЕ                                          - ПРЕФИКС AB_.
        
         7 ) НЕЙТРАЛЬНОЕ ПОД КУРСОРОМ                                                        - ПРЕФИКС NP_.
        
         8 ) АКТИВИРОВАННОЕ ПОД КУРСОРОМ                                                     - ПРЕФИКС AP_.
        
     //-----------------------------------------------    
    СПИСОК СВОЙСТВ ОПРЕДЕЛЯЕМЫХ СОСТОЯНИЕМ ЭЛЕМЕНТОВ:
     //-----------------------------------------------
     
       1 ) ЦВЕТОВЫЕ СВОЙСТВА: ОСНОВАНИЯ ЭЛЕМЕНТОВ И ТЕКСТЫ. 
       
          N_COLOR, A_COLOR, NH_COLOR, AH_COLOR, NB_COLOR, AB_COLOR, NP_COLOR, AP_COLOR.
       
          РАМКИ ОСНОВАНИЙ ЭЛЕМЕНТОВ:
       
          N_FRAME_COLOR, A_FRAME_COLOR, NH_FRAME_COLOR, AH_FRAME_COLOR, NP_FRAME_COLOR, AP_FRAME_COLOR.
       
           //------------------------------------------------------------------------------------------
          (ДЛЯ УСТАНОВКИ ЭТИХ СВОЙСТВ ТЕКСТАМ ЭЛЕМЕНТОВ ИЛИ ДРУГИМ СОСТАВНЫМ ДЕТАЛЯМ, ПИШУТСЯ ИХ НАЗВАНИЯ: text, label, canvas, bar)
          
           _,text,A_COLOR,( int ) C'255,255,255' , <-- ЦВЕТ БУДЕТ УСТНОВЛЕН ТЕКСТУ, А НЕ ОСНОВАНИЮ.
          
       //------------------------------------------------------------------------------------------   
       2 ) ЗВУКОВЫЕ СВОЙСТВА - A_SOUND, N_SOUND   <--  ЗВУК НА НАЖАТИИ/ОТЖАТИИ ЭЛЕМЕНТА.  
          
          _,A_SOUND, "::Sounds\\Windows Ding.wav" , _,N_SOUND, "::Sounds\\Windows Default.wav"

       //------------------------------------------------------------------------------------------   
       3 ) СВОЙСТВА ДЛИННА ТЕНИ И ВЫДВИЖЕНИЯ ОБЪЕКТОВ text и label - A_SHADOW, P_SHADOW, A_MOVE, P_MOVE. 
       
              _,bar,NH_COLOR,( int ) C'255,255,255' ,(ЦВЕТ ПОЛОСЫ СЛАЙДЕРА (ИЛИ D_BAR ИЛИ P_BAR) В СОСТОЯНИИ НЕЙТРАЛЬНЫЙ В ФОКУСЕ).
               
              _,label, A_SHADOW, 3 ,  (В АКТИВИРОВАННОМ СОСТОЯНИИ, ТЕНЬ ИКОНКИ СДВИГАЕТСЯ 3 ПИКСЕЛЯ).
              
              _,label, P_MOVE,   2 ,  (СДВИГ ИКОНКИ ПРИ НАВЕДЕНИИ КУРСОРА НА 2 ПИКСЕЛЯ ВНИЗ И ВПРАВО).
       
       4 )СВОЙСТВА ТЕКСТОВ:
          
           1 )TEXT_FONT  - ШРИФТ ТЕКСТА.   _,TEXT_FONT, "Microsoft JhengHei Light" ,
          
           2 )TEXT_STYLE - СТИЛЬ ТЕКСТА.   _,TEXT_STYLE, ( int ) FW_NORMAL ,
          
           3 )FONT_SIZE  - РАЗМЕР ШРИФТА  _,FONT_SIZE, 25 ,
          
           4 )TEXT_ANGLE - УГОЛ НАКЛОНА ТЕКСТА   _,TEXT_ANGLE, 450 , ( 45 ГРАДУСОВ).     
        
     //--------------------------------------------------------------------------------------------    
    
    d) СВОЙСТВА-ФЛАГИ - ДЛЯ РАЗНЫХ ЭЛЕМЕНТОВ ИЛИ ОКОН ЕСТЬ РАЗНЫЕ СВОЙСТВА-ФЛАГИ:
     //--------------------------------------------------------------------------------------------
       ЭЛЕМЕНТЫ:
       //-----------------
       1 ) FIC (FIXED_IF_CLICKED), FIXED_IF_DOUBLE_CLICKED  -  КНОПКИ. 
       
       2 ) IS_APPEARANCE_CONTROLLER  (ПЕРЕЧИСЛЕНИЕ ЭЛЕМЕНТОВ ЗАВЕРШАЮЩЕЕСЯ НА END) - ВКЛАДКИ И КНОПКИ. 
       
       3 ) IS_HIDDEN                 - ФЛАГ ПРЯЧУЩИЙ ЛЮБЫЕ ЭЛЕМЕНТЫ ИЛИ ГРУППЫ (ЗАВИСИТ ГДЕ ПОСТАВЛЕН). В ЗАВИСИМОСТИ 1 ИЛИ 0 . 
       
       4 ) POINTED                   - ФЛАГ УСТАНАВЛИВАЮЩИЙ РЕАКЦИЮ ЭЛЕМЕНТОВ НА НАВЕДЕНИЕ КУРСОРА В ЗАВИСИМОСТИ 1 ИЛИ 0 . 
       
       5 ) READ_ONLY                 - ФЛАГ ДЛЯ ПОЛЕЙ ВВОДА.
       
       6 ) IS_TABLE                  - ФЛАГ ТАБЛИЦЫ. УСТНАВЛИВАЕТСЯ ГРУППЕ ЭЛЕМЕНТОВ, КОТОРУЮ НУЖНО ПРЕДСТВИТЬ В ВИДЕ ТАБЛИЦЫ.
       
       7 ) IS_MOVABLE                - УСТАНАВЛИВАЕТ ПЕРЕМЕЩАЕМОСТЬ ЭЛЕМЕНТА ПО КАНВАСУ.
       
       8 ) IS_STRETCHABLE            - УСТАНАВЛИВАЕТ РАСТЯГИВАЕМОСТЬ ЭЛЕМЕНТА НА КАНВАСЕ.
       
       9 ) SHOW_NAMETIP              - УСТАНАВЛИВАЕТ ВСПЛЫВАЮЩУЮ ПОДСКАЗКУ С ИМЕНЕМ ЭЛЕМЕНТА.
       
       10 )SHOW_WIDGET               - УСТАНАВЛИВАЕТ ТАБЛО ДЛЯ СЛАЙДЕРА, СМЕЩАЮЩЕЕСЯ ЗА РУЧКОЙ.
       
       11 )SCROLLBAR_ON_LEFT         - УСТАНАВЛИВАЕТ СКРОЛЛ-БАР С ЛЕВОЙ СТОРОНЫ.
       
       12 ) ALL_STATES_SAME_COLOR    - УСТАНАВЛИВАЕТ ОДИНАКОВЫЙ ЦВЕТ ДЛЯ ВСЕХ СОСТОЯНИЙ ЭЛЕМЕНТА.
       
       13 ) CWIP (CLOSE WINDOW IF PRESSED) - УСТАНАВЛИВАЕТСЯ КНОПКАМ ДИАЛОГОВЫХ ОКОН. ЗАКРЫВАЕТ ОКНО НА НАЖАТИИ КНОПКИ.
       
       14 ) A2G (ADAPT_2_GRADIENT)    - ПРИСПОСАБЛИВАЕТ ЦВЕТ ОСНОВАНИЯ ЭЛЕМЕНТА К ГРАДИЕНТУ ЕГО КАНВАСА.
       
       15 )H_GRADIENT                 - МЕНЯЕТ РАСКЛАДКУ ГРАДИЕНТА НА ВЕРТИКАЛЬНУЮ.
       
       16 )TEXT_ALIGN                 - УСТАНАВЛИВАЕТ РАСКЛАДКУ ПОЛЯ ВВОДА. ЕСТЬ ДВА ФЛАГА TEXT_ALIGN_RIGHT И TEXT_ALIGN_CENTER.
       
       17 )SHOWS_TIP                  - УСТАНАВЛИВАЕТ ВСПЛЫВАЮЩУЮ ПОДСКАЗКУ С ЗАДАННЫМ СОДЕРЖАНИЕМ.
       
       18 )FRAME_TYPE                 - УСТАНАВЛИВАЕТ ТИП РАМКИ ОБЪЕКТА (МОЖНО ЗАДАВАТЬ 1 , 2 , 3 ИЛИ ВСЕ 4 СТОРОНЫ РАМКИ).
       
       19 )A_TEXT                     - УСТАНАВЛИВАЕТ АЛЬТЕРНАТИВНЫЙ ТЕКСТ, ПОЯВЛЯЮЩИЙСЯ ПРИ НАЖАТИИ НА КНОПКУ.
       
       20 )SWITCH_ALL                 - УСТАНАВЛИВАЕТ ПЕРЕКЛЮЧЕНИЯ ВСЕХ ЭЛЕМЕНТОВ В ГРУППЕ. (ПО ПРИНЦИПУ РАДИО-КНОПОК).
       
       21 )OPENS_WINDOW               - УСТАНАВЛИВАЕТ ОТКРЫТИЕ УКАЗАННОГО ОКНА ПРИ НАЖАТИИ НА ЭЛЕМЕНТ.
       
       22 )KC_TEXT                    - УСТАНАВЛИВАЕТ ТЕКСТ В ПРАВОЙ СТОРОНЕ ПУНКТА ОКНА МЕНЮ.
       
       23 )ROOT                       - ОСНОВНОЙ СВОРАЧИВАТЕЛЬ, СОЗДАЮЩИЙ ДРЕВОВИДНУЮ СТРУКТУРУ СПИСКУ ЭЛЕМЕНТОВ.
       
       24 )ON                         - УСТАНАВЛИВАЕТ ИЗНАЧАЛЬНО ВКЛЮЧЕННОЕ СОСТОЯНИЕ ЭЛЕМЕНТУ.
       
       25 )SET_TAB_CLOSER             - УСТАНАВЛИВАЕТ КРЕСТИК ЗАКРЫТИЯ ДЛЯ ВКЛАДКИ. (РАБОТАЕТ ТОЛЬКО В ДИНАМИЧНОМ СПИСКЕ).
       
       26 )C_FUNCTION                 - УСТАНАВЛИВАЕТ ВЫЗОВ ФУНКЦИИ НА КЛИКЕ НА ЭЛЕМЕНТ.
       
       27 )DC_FUNCTION                - УСТАНАВЛИВАЕТ ВЫЗОВ ФУНКЦИИ НА ДАБЛ-КЛИКЕ НА ЭЛЕМЕНТ.
       
       28 )DnD_FUNCTION               - УСТАНАВЛИВАЕТ ВЫЗОВ ФУНКЦИИ НА СОБЫТИИ Drag_n_Drop.
       
       29 )SWITCH                     - УСТАНАВЛИВАЕТ ПЕРЕЧИСЛЕНИЕ ПЕРЕКЛЮЧАЕМЫХ ЭЛЕМЕНТОВ ЗАВЕРШАЮЩЕЕСЯ НА END.
       
       30 )BLOCKS                     - УСТАНАВЛИВАЕТ ПЕРЕЧИСЛЕНИЕ БЛОКИРУЕМЫХ ЭЛЕМЕНТОВ ЗАВЕРШАЮЩЕЕСЯ НА END.
       
       
       
      ФЛАГИ ТАБЛИЦ:
       //-----------------
       1 ) IS_ZEBRA_STYLE                 - УСТАНАВЛИВАЕТ СТИЛЬ ЗЕБРА.
      
       2 ) ADJUSTABLE_COLUMNS             - УСТАНАВЛИВАЕТ РАСТЯГИВАЕМОСТЬ КОЛОНОК ТАБЛИЦЫ.
      
       3 ) IS_INTERACTIVE                 - УСТАНАВЛИВАЕТ РЕАГИРОВАНИЕ РЯДОВ НА КУРСОР.
      
       4 ) HIDE_SHOW_COLOMN               - УСТАНАВЛИВАЕТ ВОЗМОЖНОСТЬ ПРЯТАТЬ/ЯВЛЯТЬ КОЛОНКИ ТАБЛИЦЫ.
      
       5 ) ROTATE_COLOMNS                 - УСТАНАВЛИВАЕТ ВОЗМОЖНОСТЬ МЕНЯТЬ КОЛОНКИ МЕСТАМИ.
      
       6 ) IS_DINAMIC                     - ДЕЛАЕТ ТАБЛИЦУ ДИНАМИЧЕСКОЙ.
      
       7 ) ZB_COLOR                       - УСТАНАВЛИВАЕТ ЦВЕТ СТИЛЯ ЗЕБРЫ 1 .
      
       8 ) ZD_COLOR                       - УСТАНАВЛИВАЕТ ЦВЕТ СТИЛЯ ЗЕБРЫ 2 .      
      
       9 ) PAINT_VALUES                   - РАСКРАШИВАЕТ ЗНАЧЕНИЯ В ЯЧЕЙКАХ.
      
       10 ) ROW                           - ОТКРЫВАЕТ ПЕРЕЧИСЛЕНИЯ ДЛЯ УСТАНОВКИ СВОЙСТВ ВЫБРАННОГО РЯДА ТАБЛИЦЫ. ЗАКАНЧИВАЕТСЯ END.
      
       11 ) COLOMN                        - ОТКРЫВАЕТ ПЕРЕЧИСЛЕНИЯ ДЛЯ УСТАНОВКИ СВОЙСТВ ВЫБРАННОЙ КОЛОНКИ ТАБЛИЦЫ. ЗАКАНЧИВАЕТСЯ END.
      
       12 ) SELECTABLE_ROWS               - УСТАНВАЛИВАЕТ ВЫБИРАЕМЫМИ РЯДЫ ТАБЛИЦ.
      
       13 ) IS_SORTABLE                   - УСТАНАВЛИВАЕТ ВОЗМОЖНОСТЬ СОРТИРОВКИ РЯДОВ.
      
      
     
      СВОЙСТВА ПАРАМЕТРОВ:
       //-----------------
      
       1 ) PARAM_TYPE,  - _DOUBLE, _INT, MENU, RANGE,  <--  ТИПЫ ПАРАМЕТРОВ.  
      
       2 ) V_CURRENT - УСТАНАВЛИВАЕТ ИСХОДНОЕ ЗНАЧЕНИЕ ПАРАМЕТРУ ЭЛЕМЕНТА.
      
       3 ) V_MIN     - УСТАНАВЛИВАЕТ ГРАНИЦУ МИНИМАЛЬНОГО ЗНАЧЕНИЯ (ДЛЯ СЛАЙДЕРОВ И ПОЛЕЙ ВВОДА С КНОПКАМИ).
       
       4 ) V_MAX     - УСТАНАВЛИВАЕТ ГРАНИЦУ МАКСИМАЛЬНОГО ЗНАЧЕНИЯ (ДЛЯ СЛАЙДЕРОВ И ПОЛЕЙ ВВОДА С КНОПКАМИ). 
      
       5 ) V_STEP    - УСТАНАВЛИВАЕТ ШАГ ЗНАЧЕНИЯ (ДЛЯ СЛАЙДЕРОВ И ПОЛЕЙ ВВОДА С КНОПКАМИ).   
      
       6 ) DIGITS    - УСТАНАВЛИВАЕТ КОЛИЧЕСТВО ЦИФР ПОСЛЕ ТОЧКИ.
      
       7 ) __UNITS   - УСТАНАВЛИВАЕТ ЕДИНИЦЫ ИЗМЕРЕНИЯ ПЕРЕД ЗНАЧЕНИЕМ.
      
       8 ) __UNITS   - УСТАНАВЛИВАЕТ ЕДИНИЦЫ ИЗМЕРЕНИЯ ПОСЛЕ ЗНАЧЕНИЯ.
      
      
      
      ОКНА. ФЛАГИ:
       //-----------------
       1 ) ALWAYS_ON_TOP  - ОКНО ВСЕГДА СВЕРХУ.
      
       2 ) NIM (NAME_IN_MIDDLE) - ИМЯ ОКНА РАСПОЛОЖИТЬ ПО ЦЕНТРУ.
      
       3 ) OOI (OPEN_ON_INIT)   - ОТКРЫВАТЬ ОКНО НА ИНИЦИАЛИЗАЦИИ ПРОГРАММЫ.
      
       4 ) CLOSE_IF_OUT_OF_FOCUS - ЗАКРЫВАТЬ ОКНО, ЕСЛИ БЫЛ КЛИК НА ЛЮБОЕ ДРУГОЕ МЕСТО, КРОМЕ ОКНА.
      
       5 ) LOCKS_ALL_WINDOWS     - БЛОКИРУЕТ ВСЕ ОКНА ДО СВОЕГО ЗАКРЫТИЯ.
      
       6 ) ONLY_CLOSING          - УБИРАЕТ ВОЗМОЖНОСТЬ МИНИМИЗАЦИИ ОКНА, ОСТАВЛЯЯ ТОЛЬКО КРЕСТИК ЗАКРЫТИЯ.
      
      
      ОБЩИЕ СВОЙСТВА ОКОН:
       //-----------------
       1 ) MARGINS, 10 , 10 - УСТАНАВЛИВАЕТ ПОПРАВКИ К РАЗМЕРАМ ОКНА, КОТОРОЕ АВТОМАТИЧЕСКИ РАСЧИТЫВАЕТСЯ ПО РАЗМЕРУ ЕГО СОДЕРЖАНИЯ.
      
       2 ) OPENING_SOUND - УСТАНАВЛИВАЕТ ЗВУК ПРОИГРЫВАЕМЫЙ ПРИ ОТКРЫТИИ ОКНА. 
      
       3 ) LOCKS_WINDOWS - ПЕРЕЧИСЛЕНИЕ НАИМЕНОВАНИЙ ОКОН, КОТОРЫЕ НУЖНО БЛОКИРОВАТЬ ДО ЗАКРЫТИЯ ЭТОГО ОКНА. ЗАКАНЧИВАТЬ END.
      
       4 ) CAPTION       - ОКНА ОБЯЗАНЫ ИМЕТЬ РАЗНЫЕ ИМЕНА, НО ЗАГОЛОВКИ ОКНО МОГУТ БЫТЬ ОДИНАКОВЫМИ (НАПРИМЕР У ДИАЛОГОВЫХ ОКОН СО ШТАТНЫМИ СООБЩЕНИЯМИ).
      
      
      NEW_WINDOW, W_NAME, "Cправочник KIB1" ,  W_ICON, "::Images\\Help book 3d.bmp" ,  W_TYPE,SETTINGS, OOI, MARGINS, 17 , 17 ,ALWAYS_ON_TOP,NAME_IN_MIDLLE,
      
      NEW_WINDOW,  W_NAME, "Risk managment acsess" , CAPTION, "Acsess authorization" , W_ICON, "::Images\\Key.bmp" , W_TYPE, DIALOG,  ONLY_CLOSING, ALWAYS_ON_TOP, OOI,
     
     //--------------------------------------------------------------------------------------------
     
       
附加的文件:
 
第二部分将用实例来说明。