Geting active wxFrame

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Geting active wxFrame

Post by cutecode »

Если создать главную wxFrame и несколько wxFrame для которых первая wxFrame является родителем.

Можно ли определить текущую активную wxFrame?

Если я нажимаю на toolbar на главной wxFrame и затем пытаюсь определить текущую wxFrame, перебираю все wxFrame,
wxFrame::IsActive() всегда возвращает false
А для главной возвращает true

P.S.
Тут похоже тока надо наверное перехватывать SetFocus() для каждой wxFrame и загонять ее в переменную

Code: Select all

m_pMyActiveFrame=this;
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
T-Rex
Moderator
Moderator
Posts: 1248
Joined: Sat Oct 23, 2004 9:58 am
Location: Zaporizhzhya, Ukraine
Contact:

Re: Geting active wxFrame

Post by T-Rex »

Как вариант

Code: Select all

wxGetTopLevelParent(wxWindow::FindFocus())
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Geting active wxFrame

Post by cutecode »

Удачное решение, СПС учту,

но... "Если я нажимаю на toolbar на главной wxFrame"
то все равно возвращает главный wxFrame.
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
User avatar
cutecode
Super wx Problem Solver
Super wx Problem Solver
Posts: 425
Joined: Fri Dec 09, 2016 7:28 am
Contact:

Re: Geting active wxFrame

Post by cutecode »

wxGetActiveWindow() - возвращает тоже самое что и wxGetTopLevelParent()
wx 3.1.6 win/mac/linux

regards,
Alexander Saprykin
https://v2.dental-soft.ru
Post Reply