Имеется ТОП сайзер в который добавляются все остальные сайзеры при добавлении, как мембер класса, сохраняется wxSizerItem* которому присваивается id.
Приходит момент когда мне нужно Удалить/Cпрятать и т.п. этот сайзер и я хочу это сделать по Id который я проставил раньше:
В результате чего я получаю вот такой алерт:
Немогу понять в чем ошибка. Может я не правильно использую API?
Спасибо.
wxSizer ошибка при удалении по индексу.
Re: wxSizer ошибка при удалении по индексу.
wxSizer::Show() takes an index as parameter, not an ID.
You could use wxSizer::GetItemById() to get a pointer to the wxSizerItem.
But i think this is too complicated, i'd just store "activitySizer_" in a member variable and then call topSizer_->Show( activitySizer_ ).
You could use wxSizer::GetItemById() to get a pointer to the wxSizerItem.
But i think this is too complicated, i'd just store "activitySizer_" in a member variable and then call topSizer_->Show( activitySizer_ ).
Use the source, Luke!
Re: wxSizer ошибка при удалении по индексу.
Oleg,
Just remember that sizer is not a window and threfore does not need an ID.
Follow doublemax' suggestion and everything will work as expected.
If not please post here.
Thank you.
Just remember that sizer is not a window and threfore does not need an ID.
Follow doublemax' suggestion and everything will work as expected.
If not please post here.
Thank you.
Re: wxSizer ошибка при удалении по индексу.
How can i get index of any sizer?
and
Where we should use id and index?
and
Where we should use id and index?
Re: wxSizer ошибка при удалении по индексу.
Oleg,
Kak skazal doublemax - zabud pro id.
Prosto sohrani pointer to sizer v svoem klasse.
Something like this:
Thank you.
P.S.: Don't forget - you don't need to delete the sizer! It will be done by the library for you!
Kak skazal doublemax - zabud pro id.
Prosto sohrani pointer to sizer v svoem klasse.
Something like this:
Code: Select all
class DownloadPanel : public wxWindow
{
public:
DownloadPanel();
private:
wxSizer *m_activityItem;
};
DownloadPanel::DownloadPanel()
{
m_activityItem = new wxBoxSizer();
}
P.S.: Don't forget - you don't need to delete the sizer! It will be done by the library for you!
Re: wxSizer ошибка при удалении по индексу.
Got it.
P.S. , cenks.
P.S. , cenks.