用 MQL 编写的用户界面图库 - 页 37

 
Реter Konow #:

1. V 形框和制表符总是分开成组书写。这样更方便。 最好不要在这些组中添加任何其他内容。否则,"定位丛林"就开始了。当然,您也可以这样做,但不值得...


Retag Konow# 一个非常重要的细微差别。标签控制着 V_BOX(a) 画布图像的切换。它们必须在上面声明。首先是标签,然后才是 V_BOX(s)。

我还不知道如何使用标签页,我已经绘制了 H_TAB,但它们只是按钮,我不知道如何使用它们切换标签页。我想要一个有两个选项卡的例子。还是现在还为时过早?


重新标记 Konow #

3.你在表格中使用了 "TEXT "一词。这是不必要的。CELL 单元有自己的参数,连接时可从用户应用程序获取一个值。或者使用V_CURRENT 设置值。

需要的是 CELL,单元格将以编程方式填充。到目前为止,我已经设置了固定值。

V_CURRENT 帮了大忙,垃圾不见了。


Retag Konow# 还有一个重要的细微差别。所有表格的表头都有一个 T_HEADER 元素。

是的,在第一个表中是合适的,因为它为行名创建了一列。

在第二个表中不需要这一列,所以我没有添加。但效果不错。

第二个表是未来事件日志。也许表格不是一个很好的选择?如果以编程方式添加行将会很困难。

 
Edgar Akhmadeev #:

在 H_TAB,"报告 "中,在我添加图标之前,有一些鬼图标扭曲了标题。点击后就消失了。

我不知道这是否是一个错误,但描述的 TEXT_ALIGN_*s 不见了。

这个问题还没有答案。

我还想用 I_BUTTON 代替 TB_BUTTON,但这需要知道如何对齐图标和文本,默认情况下它们是重叠的。

 
Edgar Akhmadeev #:

我还不知道如何使用选项卡,我画了 H_TAB,但它们只是按钮,我不知道如何使用它们切换选项卡。我想要一个有两个选项卡的例子。 还是现在还为时过早?

CELL 正是我需要的,单元格将以编程方式填充。到目前为止,我已经设置了固定值。

V_CURRENT 帮了我大忙,垃圾消失了。

是的,在第一个表格中,V_CURRENT 是合适的,因为它为行名创建了一列。

在第二个表中不需要这一列,所以我没有添加。但效果很好。

第二个表是未来事件日志。也许表格不是一个很好的选择?如果以编程方式添加行会很困难。

"Include\(1) KIB 1.0\(1) BASE\(2) STATE KIB-CODE"中的标签菜单窗口为例。它声明了一组标签和一个 V_BOX。三个选项卡只有一个。每个选项卡都有自己的图标组。您可以将其用作模板。只是标签页在顶部,而不是底部。试着把它们放在底部。我想应该可以。


//===================================================================================================================
 GROUP, "Main tabs",

__, H_TAB, "16x16",ON,   H_TAB, "24x24",  H_TAB, "32x32", GAP,150, EDIT, "E1", W, 320, _,READ_ONLY,  

END_GROUP,
//----------------------------
i, AT, _X2X, "MF", 2, _Y2Y, "MF",2,

i, SWITCH,"16x16","24x24","32x32",END,
i, TENURED,
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',  NPG_LINES,20, NPG_STEP,1, NG_LINES,20, NG_STEP,1, END,

"16x16",     IS_APPEARANCE_CONTROLLER,  "LABELS 16*16",END,
"24x24",     IS_APPEARANCE_CONTROLLER,  "LABELS 24*24", END,
"32x32",     IS_APPEARANCE_CONTROLLER,  "LABELS 32*32", END,
//----------------------------------------------------------------------------------
"LABELS 16*16","24x24","32x32", 
//===================================================================================================================

//===================================================================================================================
//----------------------------------------------------------------------------------
GROUP,"Labels v_box 16*16",

__,   V_BOX,"V1", W,800, _,H,330,_,N_FRAME,1,_,A_FRAME,1,_,NP_FRAME,1, AP_FRAME,1,

END_GROUP,
//----------------------------
i, AT, _X2X, "16x16", 0, _Y2H, "16x16", -1,/**/
//===================================================================================================================
 
Edgar Akhmadeev #:

这个问题还没有答案。

我想使用 I_BUTTON 来代替 TB_BUTTON,但你需要知道如何对齐图标和文本,默认情况下它们是重叠的。

我需要好好想想。我忘记了很多东西。我会找到解决方案并告诉你的。

 
Edgar Akhmadeev #:

这个问题还没有答案。

我想使用 I_BUTTON 来代替 TB_BUTTON,但你需要知道如何对齐图标和文本,默认情况下它们是重叠的。

请尝试使用与 C_HEADER 相同的方法:

i, C_HEADERS, 
        TEXT_STYLE, (int)FW_BOLD, 
        FONT_SIZE, 10, 
        text, _A1_, _X2X, 
        text, _C1_, 20, 
        text, N_COLOR, (int)C'86,86,86', 
        NG_LINES, 30, NG_STEP, -1,
        POINTED, 0, 
        N_COLOR, (int)C'219,233,249', A_COLOR, (int)C'155,244,196', AH_COLOR, (int)C'155,244,196', 
        END,

例如

i, I_BUTTONS,  text, _A1_, _X2X,  text, _C1_, 30,    label, _A1_, _X2X,  label, _C1_, 5,     W, 120, H,30,    END,
 
Реter Konow #:
i,I_BUTTONS,text,_A1_,_X2X,text,_C1_,30,label,_A1_,_X2X,label,_C1_,5,W,120,H,30,END、


工作行。

 

在元素上定位图标和文本的第二种变体:

i, I_BUTTONS,  
     //-------------- 
    text, _A1_, _C2C, // Привязка текста к центру кнопки по оси Х  (_C2C - center to center). 
    text, _C1_,    0// Поправка позиции относительно центра кнопки по оси Х (0). 
     //-------------- 
    text, _A2_, _C2C,  // Привязка текста к центру кнопки по оси Y  (_C2C - - center to center). 
    text, _C2_,   10// Поправка позиции текста относительно центра кнопки по оси Y  (10). 
     //-------------- 
    label, _A2_, _Y2Y, // Привязка иконки к верху кнопки по оси Y  (_Y2Y  - Y to Y). 
    label, _C2_,   5// Поправка позиции иконки относительно Y координаты кнопки по оси Y  (5). 
     //-------------- 
    W, 100 , H, 50 , 
     //-------------- 
    END,
   //------------------------------------------------------ 
   "Button 1" , N_LABEL, "::Images\\16x16\\Lock.bmp" ,
   //------------------------------------------------------


text, _A1_, _C2C, // 沿 X 轴将文本绑定到按钮中心(_C2C - 中心到中心)。

text, _C1_, 0, // 沿 X 轴校正相对于按钮中心的位置(0)。

//--------------

text, _A2_, _C2C, // 沿 Y 轴将文本绑定到按钮中心(_C2C - - 中心到中心)。

text, _C2_, 10, // 沿 Y 轴修正文字相对于按钮中心的位置(10)。

//--------------

label, _A2_, _Y2Y, // 沿 Y 轴将图标定位到按钮顶部(_Y2Y - Y 至 Y 坐标)。

label,_C2_,5,//沿 Y 轴修正图标相对于按钮 Y 坐标的位置(5)。




 

基本上,按钮内文本和图标的定位只有两种选择。如上图所示。

您可以将其作为模板,用于任何带有文本和图标的元素。只需更改元素名称、图标、文本和更正 (_C1、_C2)。

从技术上讲,您还可以在元素内对文本和图标的排列进行其他变体,但实际上这些变体并不合理。如果需要,可以考虑。

总的来说,模板已经准备就绪。试试吧

 
Edgar Akhmadeev #:

这个问题还没有答案。

...

我的回答有用吗?
 
我们有点超前了,但在更新之后,我们将恢复以前的培训计划。但已经可以连接顾问了。剩下的就不多了。