Quero criar uma lista que possibilite a adição e exclusão de linhas pelo usuário. Ocorre que se eu crio uma lista com máximo de 10 linhas visíveis e a inicializo com menos de 10 itens quando pressiono o botão para adicionar novos itens e aparece a barrra de rolagem, o botão de decremento para rolar a lista para cima, está funcionando como botão de incremento, rolando a lista para baixo. Esse erro não ocorre se já inicializar a lista com mais de 10 itens. Para teste usei o arquivo de exemplo chamado de Controls, somente alterando para um botão adicionar e e outro remover elementos.
Essa é a alteração das funções dos botões que fiz no arquivo ControlsDialog.mqh para adicionar e remover linhas.
Para inicializar a lista como menos de 10 itens, 5 itens por exemplo, eu usei o loop a seguir, e para inicializar com mais de 10 itens, 15 por exemplo usei o mesmo loop, somente alterando o limite de 5 para 15.
//+------------------------------------------------------------------+//| Create the "TableView" element |//+------------------------------------------------------------------+bool CControlsDialog::CreateTableView(void)
{
//--- coordinatesint x1=INDENT_LEFT;
int y1=INDENT_TOP+(EDIT_HEIGHT+CONTROLS_GAP_Y)+
(BUTTON_HEIGHT+CONTROLS_GAP_Y)+
(EDIT_HEIGHT+2*CONTROLS_GAP_Y);
int x2=ClientAreaWidth()-INDENT_RIGHT;
int y2=y1+LIST_HEIGHT-CONTROLS_GAP_Y;
//--- createif(!m_list_view.Create(m_chart_id,m_name+"TableView",m_subwin,x1,y1,x2,y2))
return(false);
if(!Add(m_list_view))
return(false);
//--- fill out with stringsfor(int i=0; i<5; i++)if(!m_list_view.AddItem("Item_"+IntegerToString(i)))return(false);//--- succeedreturn(true);
}
Quero criar uma lista que possibilite a adição e exclusão de linhas pelo usuário. Ocorre que se eu crio uma lista com máximo de 10 linhas visíveis e a inicializo com menos de 10 itens quando pressiono o botão para adicionar novos itens e aparece a barrra de rolagem, o botão de decremento para rolar a lista para cima, está funcionando como botão de incremento, rolando a lista para baixo. Esse erro não ocorre se já inicializar a lista com mais de 10 itens.

Para teste usei o arquivo de exemplo chamado de Controls, somente alterando para um botão adicionar e e outro remover elementos.
Essa é a alteração das funções dos botões que fiz no arquivo ControlsDialog.mqh para adicionar e remover linhas.
Para inicializar a lista como menos de 10 itens, 5 itens por exemplo, eu usei o loop a seguir, e para inicializar com mais de 10 itens, 15 por exemplo usei o mesmo loop, somente alterando o limite de 5 para 15.