Невидимость
Невидимость
Доброго времени суток,
Подскажите пожалуйста, как управлять видимостью/невидимостью элементов, ну например, мне нужно скрывать панель или Grid. Не могу найти соответствующих методов. Возможно ли вообще с wxWidgets скрывать и отображать ранее скрытые объекты?
Заранее спасибо.
UPD: Покопался в методах класса wxToolBar - среди них есть Hide() и Show(). Но мне нужно скрывать Grid, но у wxGrid нет Show() и Hide(). Как можно скрывать/показывать Grid?
Подскажите пожалуйста, как управлять видимостью/невидимостью элементов, ну например, мне нужно скрывать панель или Grid. Не могу найти соответствующих методов. Возможно ли вообще с wxWidgets скрывать и отображать ранее скрытые объекты?
Заранее спасибо.
UPD: Покопался в методах класса wxToolBar - среди них есть Hide() и Show(). Но мне нужно скрывать Grid, но у wxGrid нет Show() и Hide(). Как можно скрывать/показывать Grid?
Re: Невидимость
Кажется так
Code: Select all
Show(false);
Re: Невидимость
Спасибо, разобрался. Нужно поместить Grid как дочерний элемент в какой-либо другой родительский элемент (контейнер), класс которого имеет соответствующие методы (Show()/Hide()) и управлять видимостью этих родительских элементов.cutecode wrote:Кажется так
Code: Select all
Show(false);
Re: Невидимость
Нет необходимости в таких излишних манипуляциях. wxGrid наследуется от класса wxScrolledWindow который в свою очередь унаследован от класса wxWindow. Поэтому вы можете свободно использовать Show()/Hide() с гридом, так же как с wxWindow или с любым другим виджетом унаследованным от wxWindow.McSeem wrote: Спасибо, разобрался. Нужно поместить Grid как дочерний элемент в какой-либо другой родительский элемент (контейнер), класс которого имеет соответствующие методы (Show()/Hide()) и управлять видимостью этих родительских элементов.
Re: Невидимость
Можно по-подробнее с примером? Я не совсем понимаю как можно использовать Show()/Hide() с гридом, если этих методов нет для этого виджета. Возможно, я неправильно понимаю механизм наследования.Serge_N wrote:McSeem wrote: Поэтому вы можете свободно использовать Show()/Hide() с гридом, так же как с wxWindow или с любым другим виджетом унаследованным от wxWindow.
Re: Невидимость
Грид наследуется от wxScrolledWindow, это можно посмотреть в заголовочном файле грида (Скрин прилагаю). В свою очередь wxScrolledWindow наследуется от wxWindow (с версии 3.0.0 и помоему с 2.9 через шаблон wxScrolied с wxPanel, а Панель наследуется от wxWindow), а в версии 2.8.xxx без шаблона).
Last edited by Serge_N on Fri Oct 20, 2017 2:36 pm, edited 2 times in total.
Re: Невидимость
Show()/Hide() это функции-челены класса wxWindow:
http://docs.wxwidgets.org/3.0/classwx_w ... 3fb4d95328
http://docs.wxwidgets.org/3.0/classwx_w ... e0276ef07f
http://docs.wxwidgets.org/3.0/classwx_w ... 3fb4d95328
http://docs.wxwidgets.org/3.0/classwx_w ... e0276ef07f
Re: Невидимость
Ага вот нашел... в документации к версии 2.8 это лучше видно, потому, как без шаблона:
http://docs.wxwidgets.org/2.8/wx_wxgrid.html#wxgrid
http://docs.wxwidgets.org/2.8/wx_wxgrid.html#wxgrid
Re: Невидимость
Спасибо огромное за подробное объяснение! Все работает! Еще хотелось бы поинтересоваться, что за IDE на Вашем скрине?Serge_N wrote:Show()/Hide() это функции-челены класса wxWindow:
http://docs.wxwidgets.org/3.0/classwx_w ... 3fb4d95328
http://docs.wxwidgets.org/3.0/classwx_w ... e0276ef07f
Re: Невидимость
На скрине Geany под Linux. Но я пользуюсь Geany редко. Основная IDE у меня Code::Blocks.McSeem wrote: Спасибо огромное за подробное объяснение! Все работает! Еще хотелось бы поинтересоваться, что за IDE на Вашем скрине?