Discusión sobre el artículo "Interfaces gráficas X: Nuevas posibilidades para la tabla dibujada (build 9)" - página 2
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Hazlo con la nueva Build6,7,8 o 9 por favor.
Utilice MetaTrader 5. La versión MetaTrader 4 ya no tiene soporte y no puedo aconsejarte nada.
¿Está bien abajo?
//| Создаёт общую площадь |
//+------------------------------------------------------------------+
bool CColorPicker::CreateArea(void)
{
//--- Формирование имени объекта
string name=CElementBase::ProgramName()+"_color_picker_bg_"+(string)CElementBase::Id();
//--- Координаты
int x=CElementBase::X();
int y=CElementBase::Y();
//--- Создать объект
if(!m_area.Create(m_chart_id,name,m_subwin,x,y,m_x_size,m_y_size))
return(false);
//--- Свойства
m_area.BackColor(m_area_color);
m_area.Color(m_area_border_color);
m_area.BorderType(BORDER_FLAT);
m_area.Corner(m_corner);
m_area.Selectable(false);
m_area.Z_Order(m_area_zorder);
m_area.Tooltip("\n");
//--- Координаты
m_canvas.X(x);
m_canvas.Y(y);
//--- Размеры
m_canvas.XSize(m_x_size);
m_canvas.YSize(m_y_size);
//--- Отступы от крайней точки
m_area.XGap(CElement::CalculateXGap(x));
m_area.YGap(CElement::CalculateYGap(y));
//--- Сохраним указатель объекта
CElementBase::AddToArray(m_area);
return(true);
}
Gracias por su respuesta. (n.b. Le pregunté si funciona con la nueva versión)
¿Está bien abajo?
//| Создаёт общую площадь |
//+------------------------------------------------------------------+
bool CColorPicker::CreateArea(void)
{
//--- Формирование имени объекта
string name=CElementBase::ProgramName()+"_color_picker_bg_"+(string)CElementBase::Id();
//--- Координаты
int x=CElementBase::X();
int y=CElementBase::Y();
//--- Создать объект
if(!m_area.Create(m_chart_id,name,m_subwin,x,y,m_x_size,m_y_size))
return(false);
//--- Свойства
m_area.BackColor(m_area_color);
m_area.Color(m_area_border_color);
m_area.BorderType(BORDER_FLAT);
m_area.Corner(m_corner);
m_area.Selectable(false);
m_area.Z_Order(m_area_zorder);
m_area.Tooltip("\n");
//--- Координаты
m_canvas.X(x);
m_canvas.Y(y);
//--- Размеры
m_canvas.XSize(m_x_size);
m_canvas.YSize(m_y_size);
//--- Отступы от крайней точки
m_area.XGap(CElement::CalculateXGap(x));
m_area.YGap(CElement::CalculateYGap(y));
//--- Сохраним указатель объекта
CElementBase::AddToArray(m_area);
return(true);
}
Por ejemplo, usted necesita:
En WndEvents.mqh en el área pública crear un nuevo método:
bool CreateColorPicker(CColorPicker &color_picker, CWindow &wnd_pointer, int wnd_index,int x,int y);
//|| Crea una paleta de colores para seleccionar un color //||
//+------------------------------------------------------------------+
bool CWndEvents::CreateColorPicker(CColorPicker &color_picker, CWindow &wnd_pointer, int wnd_index, int x, int y)
{
//--- recalcular las coordenadas
int x_gap=x-wnd_pointer.X();
int y_gap=y-wnd_pointer.Y();
//--- Guardar el puntero de la ventana
color_picker.WindowPointer(wnd_pointer);
//--- Creación de un elemento
if(!color_picker.CreateColorPicker(m_chart_id,m_subwin,x_gap,y_gap))
return(false);
//--- Añade un puntero al elemento en la base
CWndContainer::AddToElementsArray(wnd_index,color_picker);
return(true);
}
//+------------------------------------------------------------------+
Y en CProgram.mqh crea tu ColorPicker:
x=m_window_main.X2()+1;
y=m_window_main.Y();
if(!CreateColorPicker(m_color_picker,m_window_main,m_window_main_index,x,y))
return(false);
...
Sé que usted no es compatible con la versión MQL4, pero creo que MQL4 no es una razón.
Las últimas versiones de la biblioteca, el cálculo de coordenadas del objeto era diferente. Es necesario utilizar las nuevas normas especifican las coordenadas del objeto, o en sus propios métodos para volver a calcular las coordenadas de la forma habitual.
......
¿Podría comprobarlo en la ventana W_DIALOG por favor?
ColorPicker en esta biblioteca es una herramienta muy potente para el ajuste fino de colores personalizados, pero me pregunto si una simple tabla de colores sería más conveniente para el uso diario.
Gracias por el tutorial. He comprobado y cambiado el cálculo de coordenadas . ColorPicker funciona bien en mi entorno pero sólo cuando se muestra en la ventana principal (W_MAIN).
¿Podría comprobarlo en la ventana W_DIALOG por favor?
ColorPicker en esta biblioteca es una herramienta muy potente para el ajuste fino de colores personalizados, pero me pregunto si una simple tabla de colores sería más conveniente para el uso diario.
¿es posible ordenar por columnas y borrar filas en esta versión?
¿es posible ordenar por columnas y borrar filas en esta versión?
Buenas tardes. Tengo la siguiente pregunta: hay un campo de entrada SpinEdit:
Hay un manejador de eventos:
Y aún después de la función NormalizeDouble obtengo dichos valores cuando hago click en el incremento/decremento a la derecha del campo de entrada:
Cuando introduzco desde el teclado, todo es correcto.
¿Cuál puede ser la razón?