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

 

La tarea anterior es sólo un ejemplo de cálculos complejos de color. Sé cómo trabajar con un degradado regular. También sé trabajar con transparencias. Los iconos están movidos sólo porque los descargué gratis de una fuente dudosa. La función de transparencia no los arreglará, porque no se pueden seleccionar mediante programación los píxeles de la imagen que hay que hacer transparentes. Y si pudieras, no necesitarías la función de transparencia. Basta con insertar el color del píxel subyacente en ese lugar.

Hay que admitir que la interfaz es gráficamente imperfecta. Eso es cierto. Pero hay que admitir. que es bastante pasable.

Es la funcionalidad lo que cuenta.

 
Renat Akhtyamov #:

Esto es la sombra.

Si el color es contrastado, sólo será bonito para el usuario, ya que el artista se aburrirá con él.

Así es, es la sombra y también el ángulo, la iluminación, el resplandor.....

No hay tiempo para todo eso.

 
Реter Konow #:

Así es, es la sombra, pero también el ángulo, la iluminación, el resplandor.....

No hay tiempo para todo eso.

Es sólo una respuesta.

La mayoría de las veces, uno se siente reconfortado por la presencia de una respuesta, no por su realización o falta de ella.

Es un hecho de la psicología.

---

el deslumbramiento sólo se producirá en superficies irregulares, como una bola, un toroide.

 
Cuando intenté pintar el marco del botón, en primer lugar dividí el color principal en una gama de tonos utilizando la función de degradado. Una vez obtenida la gama del color original, volví a pintar las líneas del marco en los colores seleccionados de la gama. Salió mal. Poco natural. Intenté moverme por la gama a lo largo de la curva repitiendo la curvatura del color gris original del marco del botón. De nuevo no muy bien. Más exactamente, con algunos colores lo conseguí casi exactamente, con otros no. Entonces comprendí que necesitaba alguna fórmula especial para mezclar el color gris de las líneas del marco con el color del botón. Pero no pude dar con la fórmula rápidamente. Abandoné la idea.
 
Реter Konow #:
Cuando intenté pintar el marco del botón, en primer lugar dividí el color principal en una gama utilizando la función de degradado. Una vez obtenida una gama de tonos del color original (del botón), simplemente repinté las líneas del marco con los colores seleccionados de la gama. Ha quedado mal. Poco natural. Intenté moverme por la gama en una curva que repitiera la curvatura del color gris original del marco del botón. No funcionó bien. Más concretamente, con algunos colores me salía casi exacto, con otros no. Entonces comprendí que necesitaba alguna fórmula para mezclar el color gris de cada línea del marco con el color del botón. Pero no conseguí dar con la fórmula rápidamente. Así que desistí.

¿Qué tiene que ver el gris?

Necesitas un color que contraste ;)

Necesito que se vea bien y bonito.

rojo/verde

amarillo/azul

etc.

¿Ves la habilidad del artista?

Bueno, no es bello cuando ya te has dado cuenta, es un estándar previsible.....

Para los que no lo saben, es normal.

 

Por ahora tendremos que dar por sentadas las deficiencias de los gráficos.

Volvamos a lo principal: el lenguaje de marcado y la funcionalidad.

Gracias a todos por vuestras opiniones.

Se acabó eltema de los colores y los iconos.

 



//------------------------------------------------------ 
//DECLARE A NEW WINDOW
//------------------------------------------------------ 
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/             W_TYPE, DIALOG,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/         W_NAME, "Sorry, this order is blocked.",
//------------------------------------------------------
/*SET WINDOW'S CAPTION*/        CAPTION, "Risk managment",
//------------------------------------------------------
/*NAME (CAPTION)IN THE MIDDLE*/ NIM,  
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/      W_ICON, "::Images\\16x16\\No.bmp",   
//------------------------------------------------------
/*ONLY CLOSING BUTTON*/         ONLY_CLOSING, 
//------------------------------------------------------
/*WINDOW ALWAYS ON TOP*/        ALWAYS_ON_TOP, 
//------------------------------------------------------
/*OPEN WINDOW WITH A SOUND*/    OPENING_SOUND,"::Sounds\\Windows Foreground.wav", 
//------------------------------------------------------ 
/*WINDOW OPENS AT START*/       OPEN_ON_INIT,  /*(OOI)*/
//------------------------------------------------------
/*LOCK WINDOWS IF OPENED*/      LOCKS_WINDOWS, ALL_WINDOWS,   
//------------------------------------------------------
/*MARGINS OF THE WINDOW*/       MARGINS, 12,17,/*Х, Y*/
//------------------------------------------------------
//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
GROUP, A,
//------------------------------------------------------
__, T_BOX,  "T1", TEXT,
//------------------------------------------------------
                  "Sorry, this order was closed.",
//------------------------------------------------------                 
                  END, 
//------------------------------------------------------                 
END_GROUP,
//--------------------------
i, AT, _X2X, "MF",   1, _Y2Y, "MF", 1,
//--------------------------
"T1",_A3_,0,
//--------------------------
"T1", W,406,
//--------------------------
"T1", H,38,
//--------------------------
"T1", text,_C1_,10,
//--------------------------
"T1", text,_C2_,10,
//--------------------------
"T1",FONT_SIZE,10,
//--------------------------
"T1",TEXT_STYLE,(int)FW_BOLD,
//--------------------------
"T1",text,N_COLOR,(int)clrRed,
//--------------------------
//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, T_BOX,  "T3",TEXT,
                 "*Automated risk managment system denied opening new order.", 
//----------------------------------------------------------------------------------                 
                 END,
GAP,10,
//----------------------------------------------------------------------------------                 
__, T_BOX,  "T4",TEXT,
                 "*Reason: According to the preset settings the risk is too",
                 "high for your deposit. You may have to consider reducing",
                 "lot or change risk managment settings.",
                 END,
//----------------------------------------------------------------------------------                 
END_GROUP,
//--------------------------
i, AT, _X2X, "MF", 1, _Y2H, "T1", 5,
//--------------------------
"T3",TEXT_STYLE,(int)FONT_ITALIC,
//--------------------------
"T4",TEXT_STYLE,(int)FW_BOLD,
//--------------------------
"T3",text,_C1_,55,
//--------------------------
"T4",text,_C1_,55,
//--------------------------
"T3",N_COLOR,(int)C'240,240,240',
//--------------------------
"T4",N_COLOR,(int)C'240,240,240',
//--------------------------
"T3",H,20,
//--------------------------
"T4",H,55,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,A,  _,N_LABEL,"::Images\\32x32\\No.bmp", _,N_COLOR,(int)clrWhite,
//----------------------------------------------------------------------------------
END_GROUP,
//------------------------------------
i, AT, _X2X, "T1", 350, _Y2Y, "T1", 3,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,"EFEW", _,N_LABEL,"::Images\\32x32\\Error.bmp", 
//----------------------------------------------------------------------------------
END_GROUP,
//-----------------------------------
i, AT, _X2X, "MF", 10, _Y2H, "T1", 5,
//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, D_BUTTON, "OK",  CWIP, _,W,40, _,POINTED,0,
//----------------------------------------------------------------------------------
                   _,N_FRAME_COLOR, (int)C'51,153,255',
                   //--------------------------------------------------------------- 
                   _,N_COLOR,       (int)C'236,244,254',
//----------------------------------------------------------------------------------
END_GROUP,
//------------------------------------
i, AT, _W2W, "MF", -7, _Y2H, "T4", 10,
//----------------------------------------------------------------------------------
 
//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, H_LINE,"H1", W,400, _,NG_LINES,200, _,NG_STEP,3, _,H_GRADIENT, _,N_COLOR,(int)C'255,255,255',
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------
i, AT, _X2X, "MF", 1, _Y2H, "T4", 5,
//----------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, BOARD,"Open money managment settings", _,POINTED,1,
                                          //----------------------------------
                                          _,text, N_COLOR,(int)C'42,42,247',
                                          //----------------------------------
                                          _,text, P_COLOR,(int)clrRed, 
                                          //----------------------------------
                                          _,P_COLOR,(int)C'240,240,240',
                                          //----------------------------------
                                          _,text,NP_TEXT_STYLE,FONT_UNDERLINE,
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------
i, AT, _X2X, "H1", 5, _Y2H, "H1", 7,
//----------------------------------

//----------------------------------------------------------------------------------------------------
END_WINDOW,
 

Una vez que comprendas la teoría de los colores, podrás seguir, por ejemplo, tomando esto para un diseño de prueba y convertirlo en algo avanzado:

https:// www.mql5.com/ru/articles/1612

Изучаем класс CCanvas. Сглаживание и тени
Изучаем класс CCanvas. Сглаживание и тени
  • www.mql5.com
Алгоритм сглаживания класса CCanvas — основа всех построений, в которых используется сглаживание. В статье рассказано о том, как работает этот алгоритм, приведены примеры визуализации его работы. Кроме того, рассмотрено рисование теней графических объектов и разработан подробный алгоритм отрисовки тени на канвасе. Для расчетов применена библиотека численного анализа ALGLIB.
 


//------------------------------------------------------ 
//DECLARE A NEW WINDOW
//------------------------------------------------------ 
NEW_WINDOW,  
//------------------------------------------------------
/*SET WINDOW TYPE*/             W_TYPE, DIALOG,  
//------------------------------------------------------
/*WRITE WINDOW'S NAME*/         W_NAME, "Allow changes",
//------------------------------------------------------
/*SET WINDOW'S CAPTION*/        CAPTION, "User permission",
//------------------------------------------------------
/*NAME (CAPTION)IN THE MIDDLE*/ NIM,  
//------------------------------------------------------
/*POINT TO WINDOW'S ICON*/      W_ICON, "::Images\\16x16\\Warning.bmp",   
//------------------------------------------------------
/*ONLY CLOSING BUTTON*/         ONLY_CLOSING, 
//------------------------------------------------------
/*WINDOW ALWAYS ON TOP*/        ALWAYS_ON_TOP, 
//------------------------------------------------------
/*OPEN WINDOW WITH A SOUND*/    OPENING_SOUND,"::Sounds\\Windows Notify System Generic.wav", 
//------------------------------------------------------ 
/*WINDOW OPENS AT START*/       OPEN_ON_INIT,  /*(OOI)*/
//------------------------------------------------------
/*LOCK WINDOWS IF OPENED*/      //LOCKS_WINDOWS, ALL_WINDOWS,   
//------------------------------------------------------
/*MARGINS OF THE WINDOW*/       MARGINS, 11,15,/*Х, Y*/
//------------------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, T_BOX,  "T1",TEXT,
                 //----------------------------------------------
                 "An expert needs your permission to continue.",
                 "Do You allow to make changes to the strategy?", 
                 //----------------------------------------------
                 END,
//----------------------------------------------------------------------------------                 
__, T_BOX,  "T2",TEXT,
                 //----------------------------------------------
                 "Strategy name:", 
                 "Expert's name:",
                 //----------------------------------------------
                 END,
//----------------------------------------------------------------------------------                 
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF",   1, _Y2Y, "MF", 1,
//----------------------------------------------
"T1",_A3_,0,
//--------------
"T1",W,350,
//--------------
"T1",H,42,
//--------------
"T1",text,_C1_,55,
//--------------
"T1",text,_C2_,4,
//--------------
"T1",text,N_COLOR,(int)clrWhite,
//--------------
"T1",FONT_SIZE,10,
//--------------
"T1",NG_LINES,75,
//-------------- 
"T1",NG_STEP,1,
//--------------
"T1",H_GRADIENT,
//--------------
"T1",N_COLOR,(int)C'10,65,106',
//--------------
"T2",_A3_,0,
//--------------
"T2",W,350,
//--------------
"T2",H,42,
//--------------
"T2",text,_C1_,85,
//--------------
"T2",text,_C2_,7,
//--------------
//---------------------------------------------------------------------------------- 

//---------------------------------------------------------------------------------- 
GROUP, A,
//---------------------------------------------------------------------------------- 
__, T_BOX,  "T3",TEXT,
                 //----------------------------------------------
                 "'My best strategy'", 
                 //----------------------------------------------
                 END,
 GAP,20, 
//----------------------------------------------------------------------------------                  
__, T_BOX,  "T4",TEXT,
                 //----------------------------------------------
                 "Market explorer",
                 //----------------------------------------------
                 END,
//----------------------------------------------------------------------------------                  
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 210, _Y2Y, "T2", 5,
//----------------------------------------------
"T3",TEXT_STYLE,(int)FONT_ITALIC,
//----------------------------------------------
"T4",TEXT_STYLE,(int)FW_BOLD,
//----------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL,A, ADAPT_2_GRADIENT,"T1", _,N_LABEL,"::Images\\32x32\\Index.bmp", 
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 10, _Y2Y, "T1", 5,
//----------------------------------------------

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

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, LABEL, A, N_COLOR,(int)clrWhite, _,N_LABEL, "::Images\\32x32\\Attach.bmp",  
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 30, _Y2Y, "T2", 5,
//----------------------------------------------------------------------------------


//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__,CHECKBOX, "More details", A_TEXT,"Less details", 
//----------------------------------------------
   GAP,107, 
//----------------------------------------------  
   D_BUTTON, "Yes", CWIP, _,N_FRAME_COLOR, (int)C'51,153,255', 
//----------------------------------------------  
   GAP,7, 
//----------------------------------------------   
   D_BUTTON, "No", CWIP, 
//----------------------------------------------   
   BREAK_ROW_LINE,
//----------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 10, _Y2H, "T2", 20,
//----------------------------------------------
 
//----------------------------------------------------------------------------------
GROUP, A,

__, T_BOX,  "T5",TEXT,
                 //----------------------------------------------
                 "Current strategy based on 3 signals from indicators:", 
                 "Moving average, Parabolic SAR and RCI.",
                 //----------------------------------------------
                 END,
                
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF",   4, _Y2H, "More details", 7,
//----------------------------------------------
"T5",_A3_,0,
//--------------
"T5", W,342,
//--------------
"T5", H,62,
//--------------
"T5",text,_C1_,10,
//--------------
"T5",text,_C2_,4,
//--------------
"T5",N_FRAME,1,
//--------------
"T5", TEXT_FONT, "Times New Roman",
//--------------
"T5", FONT_SIZE, 12,
//--------------
"T5", text, N_COLOR, (uint)clrRed,
//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, H_LINE,"H1", W,344,
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _X2X, "MF", 4, _Y2H, "T5", 5,
//----------------------------------------------

//----------------------------------------------------------------------------------
GROUP, A,
//----------------------------------------------------------------------------------
__, BOARD,"Set up appearance of these messages", 
//----------------------------------------------------------------------------------          
                      _,POINTED,1,
                      //----------------------------------------------
                      _,FONT_SIZE,8,
                      //----------------------------------------------
                      _,text, N_COLOR,(int)C'42,42,247',
                      //----------------------------------------------
                      _,text,NP_TEXT_STYLE,FONT_UNDERLINE,
                      //----------------------------------------------
                      _,text, P_COLOR,(int)clrRed,
                      //----------------------------------------------
                      _,P_COLOR,(int)C'240,240,240',  
//----------------------------------------------------------------------------------
END_GROUP,
//----------------------------------------------
i, AT, _W2W, "H1", -3, _Y2H, "H1", 7,
//----------------------------------------------

//----------------------------------------------------------------------------------------------------
END_WINDOW,