Galería de interfaces de usuario escritas en MQL - página 37

 
Edgar Akhmadeev #:

Pregunta:

Existe un catálogo "Include\(1) KIB 1.0\(1) BASE\(1) DOCUMENTATION\".

¿Se trata sólo de ejemplos de código o está pensado para ser compilado como programa de demostración? ¿Cuál es la forma correcta de utilizarlo?

Los códigos más funcionales están en la carpeta "Include\(1) KIB 1.0\(1) BASE\(2) STATE KIB-CODE ".

Hay códigos de ventanas del diseñador. Puede estudiarlos.

 
Реter Konow #:

1. Los cuadros en V y las pestañas se escriben siempre en grupos separados. Esto es más cómodo. Es conveniente no añadir nada más a estos grupos. De lo contrario, comienza la"jungla del posicionamiento". Por supuesto, se puede hacer de esta manera, pero no vale la pena ...


R etag Konow #: Un matiz muy importante. Las pestañas controlan la conmutación de las imágenes del lienzo V_BOX(a). Deben declararse antes. Primero las pestañas, luego los V_BOX( s).

Todavía no he descubierto cómo trabajar con las pestañas. He dibujado H_TAB, pero son sólo botones, y no sé cómo cambiar de pestaña usándolos. Me gustaría un ejemplo con dos pestañas. ¿O es demasiado pronto para eso?


R etag Konow #:

3. Pones la palabra "TEXTO" en las tablas. Esto es innecesario. Las celdas CELL tienen su propio parámetro que obtiene un valor de la aplicación de usuario cuando se conecta. O bien, utilice la palabra V_CURRENT para establecer el valor.

Es CELL lo que se necesita, las celdas se rellenarán programáticamente. Hasta ahora he establecido valores fijos.

Y V_CURRENT ayudado, la basura se ha ido.


R etag Konow #: Otro matiz importante. Todas las tablas tienen un elemento T_HEADER en su cabecera

Sí, en la primera tabla es apropiado porque crea una columna para los nombres de las filas.

En la segunda tabla esta columna no es necesaria, así que no la añadí. Pero funcionó bien.

La segunda tabla es un registro de eventos futuros. ¿Quizás la tabla es una mala opción para esto? Si programáticamente sería difícil añadir filas.

 
Edgar Akhmadeev #:

en H_TAB, "Informe", hasta que añadí el icono, había un fantasma de icono distorsionando el título. Desapareció después de hacer clic en él.

No sé si es un bug, pero falta el TEXT_ALIGN_*s descrito.

Esto aún no ha sido contestado.

Y quería aplicar I_BUTTON en lugar de TB_BUTTON, pero ahí hay que saber alinear el icono y el texto, por defecto se solapan.

 
Edgar Akhmadeev #:

Todavía no he descubierto cómo trabajar con pestañas. He dibujado H_TAB, pero son sólo botones, pero no sé cómo cambiar de pestaña usándolos. Me gustaría un ejemplo con dos pestañas. ¿O es demasiado pronto para eso?

CELL es exactamente lo que necesito, las celdas se rellenarán programáticamente. Hasta ahora he establecido valores fijos.

Y V_CURRENT ayudado, la basura desapareció.

Sí, en la primera tabla es apropiado porque crea una columna para los nombres de las filas.

En la segunda tabla esta columna no es necesaria, así que no la añadí. Pero funcionó bien.

La segunda tabla es un registro de eventos futuros. ¿Quizás la tabla es una mala opción para esto? Si programáticamente sería difícil añadir filas.

Tome un ejemplo de la ventana del menú de etiquetas en "Include\(1) KIB 1.0\(1) BASE\ (2) STATE KIB-CODE" . Declara un grupo de pestañas y un V_BOX. Sólo hay uno para tres pestañas. Cada pestaña tiene su propio grupo de iconos. Puede utilizarlo como plantilla. Sólo hay pestañas en la parte superior, no en la parte inferior. Intenta ponerlas en la parte inferior. Creo que funcionará.


//===================================================================================================================
 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 #:

Aún no se ha respondido a esta pregunta.

Y en lugar de TB_BUTTON quería aplicar I_BUTTON, pero ahí hay que saber alinear el icono y el texto, por defecto se solapan.

Tengo que pensarlo. Se me han olvidado muchas cosas. Buscaré una solución y os lo haré saber.

 
Edgar Akhmadeev #:

Aún no se ha respondido a esta pregunta.

Y en lugar de TB_BUTTON quería aplicar I_BUTTON, pero ahí hay que saber alinear el icono y el texto, por defecto se solapan.

Trate de utilizar el mismo enfoque que con 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,

Por ejemplo:

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,


Línea de trabajo.

 

La segunda variante de posicionar el icono y el texto en los elementos:

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, // Vincular el texto al centro del botón a lo largo del eje X (_C2C - centro a centro).

text, _C1_, 0, // Corrección de la posición relativa al centro del botón a lo largo del eje X (0).

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

text, _A2_, _C2C, // Vincular el texto al centro del botón según el eje Y (_C2C - - centro a centro).

text, _C2_, 10, // Corrección de la posición del texto respecto al centro del botón según el eje Y (10).

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

label, _A2_, _Y2Y, // Ajustar el icono a la parte superior del botón a lo largo del eje Y (_Y2Y - Coordenada Y a Y).

label, _C2_, 5, // Corrección de la posición del icono respecto a la coordenada Y del botón a lo largo del eje Y (5).




 

Básicamente, sólo hay dos opciones para colocar el texto y el icono dentro de los botones. Ambas se muestran arriba.

Puede utilizarlo como plantilla para cualquier elemento con texto e icono. Sólo tienes que cambiar el nombre del elemento, los iconos, los textos y las correcciones (_C1, _C2).

Técnicamente puedes hacer otras variantes de disposición de textos e iconos dentro de los elementos, pero en la práctica no tienen sentido. Si surge la necesidad, puede considerarlas.

En general, la plantilla está lista. Pruébala.

 
Edgar Akhmadeev #:

Aún no se ha respondido a esta pregunta.

...

¿Te ha ayudado mi respuesta?