Discussão do artigo "Interfaces Gráficas X: Novos recursos para a tabela Renderizada (build 9)" - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Faça isso com a nova Build6,7,8 ou 9, por favor.
Use o MetaTrader 5. A versão do MetaTrader 4 não é mais suportada e não posso aconselhá-lo sobre nada.
Está tudo bem?
//| Создаёт общую площадь |
//+------------------------------------------------------------------+
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);
}
Obrigado por sua resposta. (Obs.: perguntei se funciona com a nova compilação)
Está tudo bem?
//| Создаёт общую площадь |
//+------------------------------------------------------------------+
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 exemplo, você precisa:
Em WndEvents.mqh, na área pública, crie um novo método:
bool CreateColorPicker(CColorPicker &color_picker, CWindow &wnd_pointer, int wnd_index,int x,int y);
//|| Cria uma paleta de cores para selecionar uma cor
//+------------------------------------------------------------------+
bool CWndEvents::CreateColorPicker(CColorPicker &color_picker, CWindow &wnd_pointer, int wnd_index, int x, int y)
{
//--- recalcular as coordenadas
int x_gap=x-wnd_pointer.X();
int y_gap=y-wnd_pointer.Y();
//--- Salvar o ponteiro da janela
color_picker.WindowPointer(wnd_pointer);
//--- Criando um elemento
if(!color_picker.CreateColorPicker(m_chart_id,m_subwin,x_gap,y_gap))
return(false);
//--- Adicione um ponteiro ao elemento na base
CWndContainer::AddToElementsArray(wnd_index,color_picker);
return(true);
}
//+------------------------------------------------------------------+
E em CProgram.mqh, crie seu 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);
...
Eu sei que você não suporta a versão MQL4, mas acho que a MQL4 não é o motivo.
Nas versões mais recentes da biblioteca, o cálculo das coordenadas do objeto era diferente. Você precisa usar as novas regras para especificar as coordenadas do objeto ou usar seus próprios métodos para recalcular as coordenadas da maneira usual .
......
Você poderia verificar isso na janela W_DIALOG?
O ColorPicker dessa biblioteca é uma ferramenta muito poderosa para o ajuste fino de cores personalizadas, mas eu me pergunto se uma simples tabela de cores não seria mais conveniente para o uso diário.
Obrigado pelo tutorial. Verifiquei e alterei o cálculo de coordenadas . O ColorPicker funciona bem em meu ambiente , mas somente quando exibido na janela principal (W_MAIN).
Você poderia verificar isso na janela W_DIALOG?
O ColorPicker dessa biblioteca é uma ferramenta muito poderosa para o ajuste fino de cores personalizadas, mas gostaria de saber se uma simples tabela de cores seria mais conveniente para o uso diário.
Obrigado pelo seu trabalho!!! A classificação por coluna e a exclusão de linhas são possíveis nesta versão?
obrigado pelo seu trabalho!!! a classificação por coluna e a exclusão de linhas são possíveis nesta versão?
Boa tarde. Tenho a seguinte dúvida: há um campo de entrada SpinEdit:
Há um manipulador de eventos:
E mesmo depois da função NormalizeDouble , obtenho esses valores quando clico no incremento/decremento à direita do campo de entrada:
Ao digitar pelo teclado, tudo está correto.
Qual pode ser o motivo?