GUI de origem popular. Testes beta abertos. - página 6

 

Estas são as regras básicas. Um conjunto de regras que você deve conhecer. Aqui está o arquivo. (há um na assembléia também).

//+------------------------------------------------------------------+
//|                                                           УРОК 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) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
Arquivos anexados:
hiqz_1_.mqh  24 kb
 
Na lição seguinte, os tipos de propriedades dos elementos.
 
00:03
Peter, Olá, há alguns comentários. Quando aperto o botão esquerdo do mouse e o mantenho pressionado, quando o solto da área da janela, o botão permanece pressionado, este não deve ser o caso. E quando dentro da janela, pego o cursor com o botão esquerdo do mouse pressionado para fora do campo de botões, o botão permanece ativo e quando solto a chave fora do campo de botões, também não deve ser assim. O botão é pressionado, ele funciona quando liberado, se você mudar de idéia, remova-o do campo do botão e ele não funciona, mas funciona para você
 
Rafil Nurmukhametov:
00:03
Quando pressiono e mantenho pressionado o botão esquerdo do mouse e o solto da área da janela, o botão permanece pressionado, este não deve ser o caso. E quando dentro da janela, quando eu solto o cursor com o botão esquerdo do mouse pressionado a partir do campo de botões, o botão permanece ativo e quando eu solto o botão fora do campo de botões, este também não deve ser o caso. O botão é pressionado, é acionado na liberação, se você mudar de idéia, você o remove do campo do botão e ele não funciona, mas no seu caso funciona.

Não há nenhum problema dentro da área da janela. Rafil, defina a propriedade _,FIC de seu botão e tente novamente.

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

Meios: Fixo se Сlisked

 
Реter Konow:

Não há nenhum problema dentro da área da janela. Rafil, coloque a propriedade _,FIC em seu botão e tente novamente.

OK, só que você ainda não postou uma lição sobre propriedades, desculpe, eu vejo um exemplo...
 
Rafil Nurmukhametov:
Bom, mas você ainda não postou uma lição sobre propriedades.

Vou postar hoje. Em cerca de uma hora. Na verdade, eu já resolvi este problema. Os botões só são pressionados/des pressionados se o empurrão estiver sobre eles. Na área da janela funciona. Fora da área da janela, funcionou, mas agora vejo que parou. Precisa ser consertado.

O botão pode ou não bloquear a pressão. Se você quiser que ele seja travado - colocar propriedade_,FIC,

 
Rafil, instalar a versão 1.4 e a fonte Microsoft JhengHei Light. A julgar pelas abas, você tem a versão 1.3 e não tem a fonte correta.
 

A propósito, preste atenção às propriedades de suas abas. Eles estão aqui:


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

Em rosa:

  • Cor em estado ativado sob o cursor.
  • Cor em estado ativado.
  • Cor em estado neutro.
  • Cor sob o cursor (em qualquer estado).

Em verde:

  • Moldura em estado neutro.
  • Moldura em estado ativado.
  • Moldura em estado neutro sob o cursor.

Em azul:

  • Número de linhas de gradiente em estado neutro sob o cursor.
  • Passo gradual para este estado.
  • Número de linhas de gradiente para o estado neutro.
  • Passo gradual para este estado.
Você pode removê-lo e as abas se tornam normais. A propriedade FONT_SIZE muda o tamanho da fonte.

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

Propriedades do elemento. Parte 1 - o básico. Parte 2 - exemplos.

 //+------------------------------------------------------------------+
//|                                         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,
     
     //--------------------------------------------------------------------------------------------
     
       
Arquivos anexados:
 
A segunda parte será com exemplos.