Как изменить порядок виджетов? Topic is solved
Как изменить порядок виджетов?
У меня есть несколько виджетов на wxPanel без сайзера, когда два( или больше ) виджета пересекаются ( налаживаются друг на друга ) мне надо поменять их порядок( выше - ниже ), Lower() и Raise() не помогают, может у кого-то есть пример решения? Заранее спасибо
-
- wxWorld Domination!
- Posts: 1471
- Joined: Tue Nov 14, 2006 7:58 am
- Location: Saint-Petersburg, Russia
Странно, в MSW порте просто вызывается API функция SetWindowPos(...), вроде должно работать. Попробуй вместо Lower()/Raise() явно юзать SetWindowPos(). Ну и там флагами поиграться. Может что-нить типа Refresh() требуется.lester wrote:как раз под MSW и не работает для MacOS Lower() и Raise() работают как надо, а под windows почему-то нетtan wrote:А какая платформа?
У меня есть подозрение, что это работает только под MSW.
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
оно визуально отрабатывает, но если сверху к примеру поводить другим окном - то опять отрисовка идет в старом порядке + обработка событий мыши не меняетсяtan wrote: Странно, в MSW порте просто вызывается API функция SetWindowPos(...), вроде должно работать. Попробуй вместо Lower()/Raise() явно юзать SetWindowPos(). Ну и там флагами поиграться. Может что-нить типа Refresh() требуется.
-
- wxWorld Domination!
- Posts: 1471
- Joined: Tue Nov 14, 2006 7:58 am
- Location: Saint-Petersburg, Russia
Привет.
В первом случае, как я понимаю, все контролы имеют одного парента и плавают поверх него, тут вроде проблем нет. Проблема в Z-порядке их между собой. А в этом один комбо бокс с парентом wxHtmlWindow и так будет поверх него и никакого Raise не требуется. Или я чего-то не понимаю?
Ну это уже совсем странно. В таком варианте у меня работало (без АУИ, правда). А кто был парент у комбо бокса?T-Rex wrote:Та же проблема была, пытался поверх wxHtmlWindow впихнутого в wxAUI отобразить комбик без сайзера. Пробовал Raise и вобще много чего пробовал, не помогло.
В первом случае, как я понимаю, все контролы имеют одного парента и плавают поверх него, тут вроде проблем нет. Проблема в Z-порядке их между собой. А в этом один комбо бокс с парентом wxHtmlWindow и так будет поверх него и никакого Raise не требуется. Или я чего-то не понимаю?
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10
- T-Rex
- Moderator
- Posts: 1248
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Ну, я вначале думал что wxHtmlWindow не рендерит все сам, а хитро юзает sizer'ы, из-за чего у меня проблемы с Z-Order'ом возникают, но Spy++ показывает что он все рендерит ручками, поэтому было довольно странно наблюдать эти глюки. Пробовал родителем делать форму и сам wxHtmlWindow, эффект тот же. Ну мне особо так не надо было заморачиваться, думаю, слеплю-ка я хэндлер для комбиков и на этом все закончится.
- T-Rex
- Moderator
- Posts: 1248
- Joined: Sat Oct 23, 2004 9:58 am
- Location: Zaporizhzhya, Ukraine
- Contact:
Эээ,... клиент ДЦ это мм.. странно.
Я вобще смутно себе представляю ситуацию где его юзание оправдано. Хотя хз конечно. Там я помню с Клиент ДЦ проблема если поверх что-то само по себе ездит, например скринмэйт какой-нить, Neko например или там Virtual Girl. В общем если окна сами ездят по экрану, могут быть глюки с отрисовкой..
Я вобще смутно себе представляю ситуацию где его юзание оправдано. Хотя хз конечно. Там я помню с Клиент ДЦ проблема если поверх что-то само по себе ездит, например скринмэйт какой-нить, Neko например или там Virtual Girl. В общем если окна сами ездят по экрану, могут быть глюки с отрисовкой..
я выставляю флаг и по Idle отрисовываю виджетT-Rex wrote:Эээ,... клиент ДЦ это мм.. странно.
Я вобще смутно себе представляю ситуацию где его юзание оправдано. Хотя хз конечно. Там я помню с Клиент ДЦ проблема если поверх что-то само по себе ездит, например скринмэйт какой-нить, Neko например или там Virtual Girl. В общем если окна сами ездят по экрану, могут быть глюки с отрисовкой..