GUI in crowdsourcing. Open beta testing. - pagina 6

 

Queste sono le basi, un insieme di regole che devi conoscere. Ecco il file. (ce n'è uno anche nell'assemblea).

//+------------------------------------------------------------------+
//|                                                           УРОК 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) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
File:
hiqz_1_.mqh  24 kb
 
Nella prossima lezione, i tipi di proprietà degli elementi.
 
00:03
Peter, ciao, ci sono alcuni commenti. Quando premo il pulsante sinistro del mouse e lo tengo premuto nello stato di pressione, quando lo rilascio dall'area della finestra, il pulsante rimane premuto, questo non dovrebbe essere il caso. E quando all'interno della finestra, porto il cursore con il tasto sinistro del mouse tenuto premuto fuori dal campo del pulsante, il pulsante rimane attivo e quando rilascio il tasto fuori dal campo del pulsante, non dovrebbe essere nemmeno così. Il pulsante è premuto, funziona quando viene rilasciato, se cambiate idea, rimuovetelo dal campo del pulsante e non funziona, ma funziona per voi
 
Rafil Nurmukhametov:
00:03
Quando tengo premuto il pulsante sinistro del mouse e lo rilascio dall'area della finestra, il pulsante rimane premuto, questo non dovrebbe essere il caso. E all'interno della finestra, quando rilascio il cursore con il pulsante sinistro del mouse tenuto premuto dal campo del pulsante, il pulsante rimane attivo e quando rilascio il pulsante al di fuori del campo del pulsante, non dovrebbe essere neanche questo il caso. Il pulsante viene premuto, si attiva al rilascio, se si cambia idea, lo si toglie dal campo del pulsante e non funziona, ma nel tuo caso sì.

Non ci sono problemi all'interno della zona della finestra. Rafil, imposta la proprietà _,FIC del tuo pulsante e riprova.

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

Mezzi: Fisso Se Сlisked

 
Реter Konow:

Non c'è nessun problema all'interno della zona della finestra. Rafil, imposta la proprietà _,FIC sul tuo pulsante e riprova.

OK, solo che non hai ancora postato una lezione sulle proprietà, scusa, vedo un esempio...
 
Rafil Nurmukhametov:
Bene, ma non hai ancora pubblicato una lezione sulle proprietà.

Lo pubblicherò oggi. Tra un'ora circa. In realtà, ho già risolto questo problema. I pulsanti vengono premuti/sbloccati solo se la spinta era su di essi. Nell'area della finestra funziona. Fuori dall'area della finestra funzionava, ma ora vedo che si è fermato. Ha bisogno di essere riparato.

Il pulsante può bloccarsi o meno dalla pressione. Se volete che sia agganciato - mettete la proprietà_,FIC,

 
Rafil, installa la versione 1.4 e il font Microsoft JhengHei Light. A giudicare dalle schede, hai la versione 1.3 e non hai il font giusto.
 

A proposito, fate attenzione alle proprietà delle vostre schede. Sono qui:


//--------------------------------------------------------------------------------------------------------------
//УСТАНАВЛИВАЕМ СВОЙСТВА ВКЛАДОК: ЦВЕТ В АКТИВИРОВАННОМ И НЕЙТРАЛЬНОМ СОСТОЯНИИ, ТИП РАМКИ, ПАРАМЕТРЫ ГРАДИЕНТА,
// ЦВЕТ ПОД КУРСОРОМ, РАЗМЕР ШРИФТА.
//--------------------------------------------------------------------------------------------------------------
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,
//----------------------------

In rosa:

  • Colore in stato attivato sotto il cursore.
  • Colore in stato attivato.
  • Colore allo stato neutro.
  • Colore sotto il cursore (in qualsiasi stato).

In verde:

  • Telaio in stato neutro.
  • Telaio in stato attivato.
  • Telaio in stato neutro sotto il cursore.

In blu:

  • Numero di linee di gradiente in stato neutro sotto il cursore.
  • Passo di gradiente per questo stato.
  • Numero di linee di gradiente per lo stato neutro.
  • Passo di gradiente per questo stato.
Potete rimuoverlo e le schede diventano normali. La proprietà FONT_SIZE cambia la dimensione del carattere.

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

Proprietà dell'elemento. Parte 1 - Le basi. Parte 2 - esempi.

 //+------------------------------------------------------------------+
//|                                         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,
     
     //--------------------------------------------------------------------------------------------
     
       
 
La seconda parte sarà con esempi.
Motivazione: