wxMiniFrame всегда отображается сверху

#c #wxwidgets

#c #wxwidgets

Вопрос:

Я создал графический интерфейс в wxFrame, который является главным окном. В главном классе window у меня есть члены, которые представляют собой wxMiniFrame и wxPanel.

На панели wxPanel есть кнопка, когда я нажимаю на кнопку, создается и отображается новый wxMiniFrame, родительским элементом wxMiniFrame является wxFrame. Когда создается мини-фрейм, он всегда отображается сверху. Несмотря на то, что я нажал на главное окно, мини-фрейм отображается сверху.

Однако, если я изменю родительский элемент wxMiniFrame на панель, мини-фрейм может работать должным образом. Он перейдет на задний план, когда я нажму на главное окно.

Кто-нибудь может объяснить, почему это происходит? Спасибо.

Ответ №1:

wxMiniFrame использует wxFRAME_FLOAT_ON_PARENT стиль при создании с ненулевым родительским элементом, который подходит для окон, похожих на палитры, для которых предполагается использовать мини-фреймы. Если вы этого не хотите, вы можете создать обычный wxFrame с wxFRAME_TOOL_WINDOW помощью style .