GUI à l'initiative de la foule. Test bêta ouvert. - page 6

 

Ce sont les bases. Un ensemble de règles que vous devez connaître. Voici le fichier. (il y en a aussi un dans l'assemblée).

//+------------------------------------------------------------------+
//|                                                           УРОК 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) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
Dossiers :
hiqz_1_.mqh  24 kb
 
Dans la leçon suivante, les types de propriétés des éléments.
 
00:03
Peter, Bonjour, il y a quelques commentaires. Lorsque j'appuie sur le bouton gauche de la souris et que je le maintiens enfoncé, lorsque je le relâche de la zone de la fenêtre, le bouton reste enfoncé, ce qui ne devrait pas être le cas. Et lorsque, à l'intérieur de la fenêtre, je fais sortir le curseur avec le bouton gauche de la souris maintenu enfoncé en dehors du champ du bouton, le bouton reste actif et lorsque je relâche la touche en dehors du champ du bouton, cela ne devrait pas être comme ça non plus. Le bouton est pressé, il fonctionne lorsqu'il est relâché, si vous changez d'avis, retirez-le du champ du bouton et il ne fonctionne pas, mais il fonctionne pour vous.
 
Rafil Nurmukhametov:
00:03
Lorsque je maintiens le bouton gauche de la souris enfoncé et que je le relâche de la zone de la fenêtre, le bouton reste enfoncé, ce qui ne devrait pas être le cas. Et à l'intérieur de la fenêtre, lorsque je relâche le curseur avec le bouton gauche de la souris maintenu enfoncé depuis le champ du bouton, le bouton reste actif et lorsque je relâche le bouton en dehors du champ du bouton, cela ne devrait pas être le cas non plus. Le bouton est pressé, il se déclenche au relâchement, si vous changez d'avis, vous le retirez du champ du bouton et cela ne fonctionne pas, mais dans votre cas, cela fonctionne.

Il n'y a pas de problème à l'intérieur de la zone de la fenêtre. Rafil, définissez la propriété _,FIC de votre bouton, et réessayez.

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

Signification : Fixé si Сlisked

 
Реter Konow:

Il n'y a pas de problème à l'intérieur de la zone de la fenêtre. Rafil, définissez la propriété _,FIC sur votre bouton et réessayez.

OK, seulement vous n'avez pas encore posté de leçon sur les propriétés, désolé, je vois un exemple...
 
Rafil Nurmukhametov:
Bien, mais vous n'avez pas encore posté de leçon sur les propriétés.

Je le posterai aujourd'hui. Dans une heure environ. En fait, j'ai déjà résolu ce problème. Les boutons ne sont appuyés/désappuyés que si le bouton était sur eux. Dans la zone de la fenêtre, cela fonctionne. En dehors de la zone de la fenêtre, il a fonctionné, mais je constate maintenant qu'il s'est arrêté. Doit être réparé.

Le bouton peut se verrouiller ou non après avoir été pressé. Si vous voulez qu'il soit verrouillé - mettez la propriété_,FIC,

 
Rafil, installez la version 1.4 et la police Microsoft JhengHei Light. À en juger par les onglets, vous avez la version 1.3 et vous n'avez pas la bonne police.
 

À propos, faites attention aux propriétés de vos onglets. Ils sont ici :


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

En rose :

  • Couleur à l'état activé sous le curseur.
  • Couleur à l'état activé.
  • Couleur à l'état neutre.
  • Couleur sous le curseur (dans n'importe quel état).

En vert :

  • Cadre à l'état neutre.
  • Cadre en état activé.
  • Cadre à l'état neutre sous le curseur.

En bleu :

  • Nombre de lignes de gradient à l'état neutre sous le curseur.
  • Pas de gradient pour cet état.
  • Nombre de lignes de gradient pour l'état neutre.
  • Pas de gradient pour cet état.
Vous pouvez l'enlever et les onglets redeviennent normaux. La propriété FONT_SIZE permet de modifier la taille de la police.

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

Propriétés des éléments. Partie 1 - les bases. Partie 2 - exemples.

 //+------------------------------------------------------------------+
//|                                         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,
     
     //--------------------------------------------------------------------------------------------
     
       
Dossiers :
 
La deuxième partie sera consacrée à des exemples.