Dies sind die Grundregeln, die Sie kennen müssen. Hier ist die Datei. (Es gibt auch eine in der Baugruppe.)
//+------------------------------------------------------------------+
//| УРОК 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 ВЕРТИКАЛЬНЫЙ ПРОГРЕСС-БАР. ИСПОЛЬЗУЕТСЯ В ДИАГРАММАХ.
//-------------------------------------------------------------
/**************************************************************
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
Peter, Hallo, es gibt einige Kommentare. Wenn ich die linke Maustaste drücke und im gedrückten Zustand festhalte, bleibt die Taste gedrückt, wenn ich sie aus dem Fensterbereich loslasse, das sollte nicht der Fall sein. Und wenn ich innerhalb des Fensters den Cursor mit gedrückter linker Maustaste aus dem Schaltflächenfeld herausnehme, bleibt die Schaltfläche aktiv, und wenn ich die Taste außerhalb des Schaltflächenfeldes loslasse, sollte es auch nicht so sein. Die Taste ist gedrückt, sie funktioniert, wenn sie losgelassen wird. Wenn Sie Ihre Meinung ändern, entfernen Sie sie aus dem Tastenfeld und sie funktioniert nicht, aber sie funktioniert für Sie.
Wenn ich die linke Maustaste gedrückt halte und sie aus dem Fensterbereich loslasse, bleibt die Taste gedrückt, was nicht der Fall sein sollte. Und wenn ich innerhalb des Fensters den Cursor bei gedrückter linker Maustaste aus dem Schaltflächenfeld loslasse, bleibt die Schaltfläche aktiv, und wenn ich die Schaltfläche außerhalb des Schaltflächenfelds loslasse, sollte dies auch nicht der Fall sein. Wenn Sie es sich anders überlegen, entfernen Sie die Taste aus dem Tastenfeld, und es funktioniert nicht, aber in Ihrem Fall funktioniert es.
Innerhalb des Fensterbereichs gibt es keine Probleme. Rafil, setzen Sie die Eigenschaft _,FIC Ihrer Schaltfläche und versuchen Sie es erneut.
Rafil Nurmukhametov: Gut, aber Sie haben noch keine Lektion über Immobilien veröffentlicht.
Ich werde es heute veröffentlichen. In etwa einer Stunde. Eigentlich habe ich dieses Problem bereits gelöst. Tasten werden nur dann gedrückt oder nicht gedrückt, wenn sie gedrückt wurden. Im Fensterbereich funktioniert es. Außerhalb des Fensterbereichs hat es funktioniert, aber jetzt sehe ich, dass es aufgehört hat. Das muss behoben werden.
Die Taste kann beim Drücken gesperrt werden oder nicht. Wenn Sie wollen, dass es verriegelt wird, setzen Sie die Eigenschaft_,FIC,
Rafil, installieren Sie Version 1.4 und die Schriftart Microsoft JhengHei Light. Nach den Tabs zu urteilen, haben Sie Version 1.3 und nicht die richtige Schriftart.
Übrigens: Achten Sie auf die Eigenschaften Ihrer Tabs. Sie sind hier:
//--------------------------------------------------------------------------------------------------------------//УСТАНАВЛИВАЕМ СВОЙСТВА ВКЛАДОК: ЦВЕТ В АКТИВИРОВАННОМ И НЕЙТРАЛЬНОМ СОСТОЯНИИ, ТИП РАМКИ, ПАРАМЕТРЫ ГРАДИЕНТА,// ЦВЕТ ПОД КУРСОРОМ, РАЗМЕР ШРИФТА.//--------------------------------------------------------------------------------------------------------------
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:
Farbe im aktivierten Zustand unter dem Cursor.
Farbe im aktivierten Zustand.
Farbe im neutralen Zustand.
Farbe unter dem Cursor (in einem beliebigen Zustand).
In Grün:
Rahmen in neutralem Zustand.
Rahmen im aktivierten Zustand.
Rahmen im neutralen Zustand unter dem Cursor.
In blau:
Anzahl der Gradientenlinien im neutralen Zustand unter dem Cursor.
Gradientenstufe für diesen Zustand.
Anzahl der Gradientenlinien für den neutralen Zustand.
Gradientenstufe für diesen Zustand.
Sie können sie entfernen, und die Registerkarten werden normal. Die Eigenschaft FONT_SIZE ändert die Schriftgröße.
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д. Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
Elementeigenschaften. Teil 1 - die Grundlagen. Teil 2 - Beispiele.
//+------------------------------------------------------------------+//| 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,
//--------------------------------------------------------------------------------------------
Dies sind die Grundregeln, die Sie kennen müssen. Hier ist die Datei. (Es gibt auch eine in der Baugruppe.)
Innerhalb des Fensterbereichs gibt es keine Probleme. Rafil, setzen Sie die Eigenschaft _,FIC Ihrer Schaltfläche und versuchen Sie es erneut.
__,BUTTON, "Button",_,FIC,Bedeutet: Fixiert Wenn Сlisked
Innerhalb des Fensterbereichs gibt es keine Probleme. Rafil, setzen Sie die Eigenschaft _,FIC auf Ihre Schaltfläche und versuchen Sie es erneut.
Gut, aber Sie haben noch keine Lektion über Immobilien veröffentlicht.
Ich werde es heute veröffentlichen. In etwa einer Stunde. Eigentlich habe ich dieses Problem bereits gelöst. Tasten werden nur dann gedrückt oder nicht gedrückt, wenn sie gedrückt wurden. Im Fensterbereich funktioniert es. Außerhalb des Fensterbereichs hat es funktioniert, aber jetzt sehe ich, dass es aufgehört hat. Das muss behoben werden.
Die Taste kann beim Drücken gesperrt werden oder nicht. Wenn Sie wollen, dass es verriegelt wird, setzen Sie die Eigenschaft_,FIC,
Übrigens: Achten Sie auf die Eigenschaften Ihrer Tabs. Sie sind hier:
In Rosa:
In Grün:
In blau:
Elementeigenschaften. Teil 1 - die Grundlagen. Teil 2 - Beispiele.