Messageboxes, tabcontrols, directx oh my

Started by
11 comments, last by Burnt_Fyr 10 years, 7 months ago

tl,dr: What windowstyles/functions can i use to force a message box to display over directx render windows.

In my current project, I've got a main window, a tab control, a child window for the tab, and it has a child window with a directx swapchain bound to it.


hwndmain
-htab
-htabview1
--h3dview (has directx swapchain)


When the user wants to open a file, I check to see if one is open, and if so pop open a message box to ask if they would like to save the current file. This message box does not pop up over of the childwindow with the swapchain. It will appear if any other tab window is showing,however, eventually each tab will have 1 or more swapchains attached to it. If i press a key that the Messagebox responds to(such as escape or alt) then it is drawn correctly.

Advertisement
Good question, I'd like to know too.
I have this only when running in fullscreen, not in windowed mode.

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

If your having issues with fullscreen render modes and message boxes, look here. From what i've read, it will not help me with windowed swapchains

If you are using WinApi then look at that : http://msdn.microsoft.com/en-us/library/windows/desktop/ms632600(v=vs.85).aspx

---->

WS_CLIPCHILDREN 0x02000000L

Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.

That should work because winapi widgets are actually child wnds.

If you are using WinApi then look at that : http://msdn.microsoft.com/en-us/library/windows/desktop/ms632600(v=vs.85).aspx

---->

WS_CLIPCHILDREN 0x02000000L

Excludes the area occupied by child windows when drawing occurs within the parent window. This style is used when creating the parent window.

That should work because winapi widgets are actually child wnds.

Clipchildren is already specified for hwndMain, and the message box appears fine on any tab except the one containing the window with the d3dswapchain. And in win32, there are no "widgets", windows, and controls only

{bump}

The WS_CLIPCHILDREN option didn't work for me.
I now simply call ShowWindow(..., SW_MINIMIZE);, this works for my needs (including ShowCursor(true)

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

The WS_CLIPCHILDREN option didn't work for me.
I now simply call ShowWindow(..., SW_MINIMIZE);, this works for my needs (including ShowCursor(true)

did you read the link i posted for you?

Jep, but I didn't find anything else to try.
I only have one window (main window), no children

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

::SetDialogBoxMode does not require child windows, so should allow message boxes to popup over your fullscreen d3dwindow

This topic is closed to new replies.

Advertisement