Jump to content

  • Log In with Google      Sign In   
  • Create Account

Messageboxes, tabcontrols, directx oh my


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 04 September 2013 - 01:08 PM

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.


Edited by Burnt_Fyr, 06 September 2013 - 09:11 AM.


Sponsor:

#2 cozzie   Members   -  Reputation: 1762

Like
0Likes
Like

Posted 04 September 2013 - 03:26 PM

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

#3 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 04 September 2013 - 03:57 PM

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



#4 imoogiBG   Members   -  Reputation: 1247

Like
0Likes
Like

Posted 05 September 2013 - 12:58 PM

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.



#5 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 05 September 2013 - 02:24 PM

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



#6 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 06 September 2013 - 09:09 AM

{bump}



#7 cozzie   Members   -  Reputation: 1762

Like
0Likes
Like

Posted 07 September 2013 - 02:37 AM

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

#8 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 07 September 2013 - 06:15 PM

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?



#9 cozzie   Members   -  Reputation: 1762

Like
0Likes
Like

Posted 08 September 2013 - 08:48 AM

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

#10 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 09 September 2013 - 10:00 AM

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



#11 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 09 September 2013 - 02:50 PM

Looking at some other projects, it seems that my test project with multiple swapchains has the same issue, so it is unlikely related to the tabcontrol.



#12 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 10 September 2013 - 04:00 PM

I've now narrowed down the problem to just a single child window. I've got a test project that creates a main window, and a child window, my renderer is coupled to the child window, and I cannot get a message box to show above the window.



#13 Burnt_Fyr   Members   -  Reputation: 1248

Like
0Likes
Like

Posted 11 September 2013 - 02:20 PM

This thread pointed me to a solution. I was not using begin/end paint, which caused windows to do... something. I'm still not 100% sure what was going on, as I don't see how it would  have affected z order. Can someone with some more experience shed some light?


Edited by Burnt_Fyr, 11 September 2013 - 02:21 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS