//DECLARE A NEW WINDOW//----------------------------------------------------------------------------------
NEW_WINDOW,
//------------------------------------------------------/*SET WINDOW TYPE*/ W_TYPE, SETTINGS,
//------------------------------------------------------/*WRITE WINDOW'S NAME*/ W_NAME, "My first window",
//------------------------------------------------------/*POINT TO WINDOW'S ICON*/ W_ICON, "::Images\\16x16\\Smile.bmp",
//------------------------------------------------------//------------------------------------------------------/*SET WINDOW'S ADDITIONAL PROPERTIES*///----------------------------------------------------------------------------------/*WINDOW OPENS AT START*/ OPEN_ON_INIT, /*(OOI)*//*WINDOW IS ALWAYS ON TOP*/ ALWAYS_ON_TOP, /*(OOT)*//*ОТСТУПЫ КРАЕВ ОКНА*/ MARGINS, 20,20, /*Х, Y*///----------------------------------------------------------------------------------////----------------------------------------------------------------------------------//1. DECLARE A GROUP WITH AN ABSTRACT NAME A.//2. DECLARE A NEW ROW OF ELEMENTS IN THE GROUP WITH A SYMBOL __, //3. DECLARE A BUTTON AND WRITE IT'S NAME.//4. END GROUP WITH THE KEYWORDS END_GROUP,//------------------------------------------------------
GROUP, A,
__, BUTTON, "Button 1", BUTTON, "Button 5",
__, BUTTON, "Button 2", BUTTON, "Button 6",
__, BUTTON, "Button 3", BUTTON, "Button 7",
__, BUTTON, "Button 4", BUTTON, "Button 8",
END_GROUP,
//--------------------------//--------------------------//SET GROUP POSITION://--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
//--------------------------
i, X_GAP, 30,
i, Y_GAP, 20,
//--------------------------//SET MAIN PROPERTIES (IF YOU DON'T, THEY WILL HAVE DEFAULT VALUES): //PROPERTIES FOR ALL BUTTONS IN THE GROUP//--------------------------
i, BUTTONS, text, N_COLOR, (uint)clrBlack,
text, A_COLOR, (uint)clrRed,
text, P_COLOR, (uint)clrLime,
text, AP_COLOR, (uint)clrWhite,
FONT_SIZE, 12,
TEXT_FONT,"Courier New",
TEXT_STYLE,(int)FONT_ITALIC,
FIC, //FIXED IF CLICKED
END,
//--------------------------//------------------------------------------------------//FINISH THE WINDOW BY KEYWORDS END_WINDOW,//------------------------------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
//+------------------------------------------------------------------+//| My first window.mqh |//+------------------------------------------------------------------+//DECLARE A NEW WINDOW//----------------------------------------------------------------------------------
NEW_WINDOW,
//------------------------------------------------------/*SET WINDOW TYPE*/ W_TYPE, SETTINGS,
//------------------------------------------------------/*WRITE WINDOW'S NAME*/ W_NAME, "My first window",
//------------------------------------------------------/*POINT TO WINDOW'S ICON*/ W_ICON, "::Images\\16x16\\Smile.bmp",
//------------------------------------------------------//------------------------------------------------------/*SET WINDOW'S ADDITIONAL PROPERTIES*///----------------------------------------------------------------------------------/*WINDOW OPENS AT START*/ OPEN_ON_INIT, /*(OOI)*//*WINDOW IS ALWAYS ON TOP*/ ALWAYS_ON_TOP, /*(OOT)*//*MARGINS OF THE WINDOW*/ MARGINS, 40,40,/*Х, Y*///----------------------------------------------------------------------------------////----------------------------------------------------------------------------------//1. DECLARE A GROUP WITH AN ABSTRACT NAME A.//2. DECLARE A NEW ROW OF ELEMENTS IN THE GROUP WITH A SYMBOL __, //3. DECLARE A BUTTON AND WRITE IT'S NAME.//4. END GROUP WITH THE KEYWORDS END_GROUP,//------------------------------------------------------
GROUP, A,
__, BUTTON, "Button 1", GAP,40, BUTTON, "Button 7",
GAP,40, //GAP BETWEEN THE LINES
__, BUTTON, "Button 2", GAP,40, BUTTON, "Button 8",
GAP,40, //GAP BETWEEN THE LINES
__, BUTTON, "Button 3", GAP,40, BUTTON, "Button 9",
__, BUTTON, "Button 4", GAP,40, BUTTON, "Button 10",
__, BUTTON, "Button 5", GAP,40, BUTTON, "Button 11",
__, BUTTON, "Button 6", GAP,40, BUTTON, "Button 12",
END_GROUP,
//--------------------------//--------------------------//SET GROUP POSITION://--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
//--------------------------//--------------------------//SET MAIN PROPERTIES (IF YOU DON'T, THEY WILL HAVE DEFAULT VALUES): //------------------------------------------------------//FINISH THE WINDOW BY KEYWORDS END_WINDOW,//------------------------------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
//+------------------------------------------------------------------+//| My first window.mqh |//+------------------------------------------------------------------+//DECLARE A NEW WINDOW//----------------------------------------------------------------------------------
NEW_WINDOW,
//------------------------------------------------------/*SET WINDOW TYPE*/ W_TYPE, SETTINGS,
//------------------------------------------------------/*WRITE WINDOW'S NAME*/ W_NAME, "My first window",
//------------------------------------------------------/*POINT TO WINDOW'S ICON*/ W_ICON, "::Images\\16x16\\Smile.bmp",
//------------------------------------------------------//------------------------------------------------------/*SET WINDOW'S ADDITIONAL PROPERTIES*///----------------------------------------------------------------------------------/*WINDOW OPENS AT START*/ OPEN_ON_INIT, /*(OOI)*//*WINDOW IS ALWAYS ON TOP*/ ALWAYS_ON_TOP, /*(OOT)*//*MARGINS OF THE WINDOW*/MARGINS, 40,40,/*Х, Y*///----------------------------------------------------------------------------------////----------------------------------------------------------------------------------//1. DECLARE A GROUP WITH AN ABSTRACT NAME A.//2. DECLARE A NEW ROW OF ELEMENTS IN THE GROUP WITH A SYMBOL __, //3. DECLARE A BUTTON AND WRITE IT'S NAME.//4. END GROUP WITH THE KEYWORDS END_GROUP,//------------------------------------------------------
GROUP, A,
__, BUTTON, "Button 1", BUTTON, "Button 7",
__, BUTTON, "Button 2", BUTTON, "Button 8",
__, BUTTON, "Button 3", BUTTON, "Button 9",
__, BUTTON, "Button 4", BUTTON, "Button 10",
__, BUTTON, "Button 5", BUTTON, "Button 11",
__, BUTTON, "Button 6", BUTTON, "Button 12",
END_GROUP,
//--------------------------//--------------------------//SET GROUP POSITION://--------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "MF", 10,
//--------------------------i, X_GAP, 40, //GAP BETWEEN THE ELEMENTS IN THE ROWi, Y_GAP, 40, //GAP BETWEEN THE ROWS//--------------------------//SET MAIN PROPERTIES (IF YOU DON'T, THEY WILL HAVE DEFAULT VALUES): //------------------------------------------------------//FINISH THE WINDOW BY KEYWORDS END_WINDOW,//------------------------------------------------------
END_WINDOW,
//----------------------------------------------------------------------------------
传播按钮并设置一般文本属性:
代码
很好的教科书范例,请继续。
关于标记语言和构造函数的一般信息。
1.构造函数元素的属性值是预定义的。如果没有明确定义,则会为属性分配默认值。
2.元素的交互行为是预设的,但用户可以更改或禁用不同的响应。
3.3. 在计算组成组的位置和大小时,会自动计算界面窗口的大小。如果用户指定了右边距和下边距(边距),也会考虑在内。
4.某些元素的长度直接取决于文本的长度。如果用户没有设置明确的值,长度会自动计算。否则,构造函数会截断超出元素的文本,并用虚线保存用户的值。此类元素包括复选框、单选按钮、文本标签、水平和垂直制表符。
5.在构建窗口时,设计者会力求采用表格布局,并保持元素组的对称性。复选框或 类似类型的元素 会自动对齐到一个共同的长度值。
6.6. 设计者坚持使用表格布局,这使得界面的构建更加容易,而且为了提高灵活性,设计者使用标志和绑定将元素分成若干组,并进行排列。
7.7. 单个窗口中的元素数量不受限制。
8.单个项目中的窗口数量不受限制。
9.所有项目都必须有任务栏和上下文菜单。但是,如果您注释了文件中的 OPEN_ON_INIT (OOI) 命令,则可以禁用任务栏的显示。然后有必要禁用窗口最小化属性(存在这种可能性)。
10.在用户任务栏的右侧,用户可以设置按钮来调用自己的窗口。
11.当光标悬停时,所有项目都可以有一个带有名称的工具提示。为此,您需要在属性 _,SHOW_NAMETIP 中编写一条命令。
12.双击图表时,构造函数或用户的上下文菜单将显示。
13.在指定框架、颜色、字体、图标和声音时,构造函数的辅助窗口可以让您更轻松地查找和选择元素属性。
14.14. 在最新版本中编写代码时,需要先编译标记代码,然后再编译指标 KIB-source.mq5,否则会出现白屏和挂起的错误(在旧版本 2470 中没有此类问题)。
下面继续...
在窗口中定位组:
设置窗口右侧和底部的缩进:
0.
2.
设置元素之间的间距
2.
3.
5.
6.
7.
8.
9.
代码
延续元素布局的主题,按钮的一切都很清楚,因为它们有默认大小或由用户定义。但对于长度与文本长度挂钩的元素来说,一切都很模糊。下面是一些复选框和单选按钮的例子:
1. 复选框和单选按钮的名称几乎相同。
2. 一个单选按钮比其他按钮长很多。它们变得一样长:
3.在第二列中,中间的复选框明显较长。其他复选框的大小与之相同:
4.明确设置复选框和单选按钮的长度会自动缩短输出文本。
选项代码 2