Anatoli Kazharski: Первый параметр это номер формы, к которой присоединяется элемент. Возможно Вы одну и ту же таблицу добавляете в общий список элементов.
что значит в общий список? где он разделяется?
вот метод создания в классе формы:
/*!
\brief Создание объекта
\param const string a_name - имя программы
\param const uint a_pause - пауза для обновления статусной строки
\return true в случае успеха, иначе false
*/bool CMainForm::Create(conststring a_name,constuint a_pause) {
m_counter500.SetParameters(16, a_pause);
m_counter16.SetParameters(16, 16);
if(!CreateForm(m_form, a_name))
returnfalse;
if(!CreateStatusBar(m_status_bar, m_form, 1, STATUS_SIZE_HEIGHT))
returnfalse;
if(!m_table_sign.Create(m_form, m_chart_id, m_subwin, 1, 20))
returnfalse;
if(!m_table_pair.Create(m_form, m_chart_id, m_subwin, 450, 20))
returnfalse;
//--- добавим объект таблицы в общий массив групп объектов
CWndContainer::AddToElementsArray(0, m_table_sign.GetTbl());
CWndContainer::AddToElementsArray(0, m_table_pair.GetTbl());
m_chart.Redraw();
//---returntrue;
}
метод GetTbl возвращает указатель на CCanvasTable m_table
метод GetTbl возвращает указатель на CCanvasTable m_table
//--- Создадим элемент управленияif(!m_canvas_table2.CreateTable(m_chart_id,m_subwin,x_gap,y_gap))
return(false);
//--- Добавим объект в общий массив групп объектов
CWndContainer::AddToElementsArray(0,m_canvas_table2);
/*!
\brief Создание объекта
\param const string a_name - имя программы
\param const uint a_pause - пауза для обновления статусной строки
\return true в случае успеха, иначе false
*/bool CMainForm::Create(conststring a_name,constuint a_pause) {
m_counter500.SetParameters(16, a_pause);
m_counter16.SetParameters(16, 16);
if(!CreateForm(m_form, a_name))
returnfalse;
if(!CreateStatusBar(m_status_bar, m_form, 1, STATUS_SIZE_HEIGHT))
returnfalse;
if(!m_table_sign.Create(m_form, m_chart_id, m_subwin, 1, 20))
returnfalse;
//--- добавим объект таблицы в общий массив групп объектовCWndContainer::AddToElementsArray(0, m_table_sign.GetTbl());if(!m_table_pair.Create(m_form, m_chart_id, m_subwin, 450, 20))
returnfalse;
//--- добавим объект таблицы в общий массив групп объектовCWndContainer::AddToElementsArray(0, m_table_pair.GetTbl());
m_chart.Redraw();
//---returntrue;
}
и все заработало, оказывается сразу после создания объекта его нужно помещать в контейнер и только после этого создавать другой объект ))
не, у меня таблицы расположены в других классах, я применяю модульное программирование )) так удобнее управлять функционалом - класс главной формы, класс таблицы 1, класс таблицы 2 и т.д. в итоге все элементы собираются в классе главной формы отдельными готовыми объектами
не, у меня таблицы расположены в других классах, я применяю модульное программирование )) так удобнее управлять функционалом - класс главной формы, класс таблицы 1, класс таблицы 2 и т.д. в итоге все элементы собираются в классе главной формы отдельными готовыми объектами
Согласен. Многие пользователи этой библиотеки так делают, только у меня всё руки никак не доходят. )
методы X(const int x) и Y(const int y) ни как не влияют на расположение таблицы в форме, она всегда располагается в левом верхнем углу
Относительные координаты устанавливается при создании элементов в пользовательском классе:
//---
Какая задача стоит?
Относительные координаты устанавливается при создании элементов в пользовательском классе:
//---
Какая задача стоит?
разместить две таблицы по горизонтали, x_gap,y_gap меняет расположение горизонтальной прокрутки и все ((
PS. такс, вроде сместил, но почему то сместились две таблицы ))
а в методе:
CWndContainer::AddToElementsArray(0, m_table_pair.GetTbl());если две таблицы, то первый параметр всегда 0 или это порядковый номер одинаковых объектов?
первая таблица почему то съезжает упорно под вторую
...
PS. такс, вроде сместил, но почему то сместились две таблицы ))
а в методе:
CWndContainer::AddToElementsArray(0, m_table_pair.GetTbl());если две таблицы, то первый параметр всегда 0 или это порядковый номер одинаковых объектов?
Первый параметр это номер формы, к которой присоединяется элемент. Возможно Вы одну и ту же таблицу добавляете в общий список элементов.
что значит в общий список? где он разделяется?
вот метод создания в классе формы:
метод GetTbl возвращает указатель на CCanvasTable m_table
...
Нужен вот такой результат?
//---
Приложил пример в архиве:
вот метод создания в классе формы:
метод GetTbl возвращает указатель на CCanvasTable m_table
Нужен вот такой результат?
//---
Приложил пример в архиве:
сделал так:
и все заработало, оказывается сразу после создания объекта его нужно помещать в контейнер и только после этого создавать другой объект ))
не, у меня таблицы расположены в других классах, я применяю модульное программирование )) так удобнее управлять функционалом - класс главной формы, класс таблицы 1, класс таблицы 2 и т.д. в итоге все элементы собираются в классе главной формы отдельными готовыми объектами
не, у меня таблицы расположены в других классах, я применяю модульное программирование )) так удобнее управлять функционалом - класс главной формы, класс таблицы 1, класс таблицы 2 и т.д. в итоге все элементы собираются в классе главной формы отдельными готовыми объектами
Согласен. Многие пользователи этой библиотеки так делают, только у меня всё руки никак не доходят. )
кстати есть проблема:
выделенная строка не дает работать в тестере. Лучше сделать выбор типа такого:
а в программе делать примерно такой выбор:
либо просто флагами делать выбор