Help - Search - Members - Calendar
Full Version: MDI Parents and free flowing windows in VB .Net
BleepingComputer.com > Software > Programming
   
aommaster
Hi guys!

Two questions regarding VB .Net:

  1. I have an MDI parent window. Is it possible to set the standard grey background to transparent without changing the opacity of the form (I don't want to change that because all the controls on the form become transparent)? So far, I've managed to change the colour of the background, but I was wondering whether I could take it one step further and transparent-ify it tongue.gif
  2. Relating to the same MDI program above, I have a number of different child windows that pop up. I wanted to know how easy/difficult it would be to create:
    • a click-through window for the parent MDI
    • A tiny MDI parent which only contains the menu bar at the top, but it would allow the child MDI's to 'escape' the bounds of the program window, in the sense that it would be outside the program's window all over the desktop. I'm thinking that this would require an almost complete re-write of the program but I'd like to make sure.

Thanks guys!
Billy O'Neal
Hello, aommaster[ smile.gif

QUOTE(aommaster @ Jun 22 2009, 11:46 AM) *
1.I have an MDI parent window. Is it possible to set the standard grey background to transparent without changing the opacity of the form (I don't want to change that because all the controls on the form become transparent)? So far, I've managed to change the colour of the background, but I was wondering whether I could take it one step further and transparent-ify it tongue.gif

I don't believe so. sad.gif

Wouldn't this confuse your users anyway? They'd try to drag one of the children outside of the parent because they look just like regular windows and it wouldn't work.....

QUOTE
2. Relating to the same MDI program above, I have a number of different child windows that pop up. I wanted to know how easy/difficult it would be to create:
  • a click-through window for the parent MDI
  • A tiny MDI parent which only contains the menu bar at the top, but it would allow the child MDI's to 'escape' the bounds of the program window, in the sense that it would be outside the program's window all over the desktop. I'm thinking that this would require an almost complete re-write of the program but I'd like to make sure.
Thanks guys!

I'm unsure what a "click through" window is....
The second one is not possible. If you want that, just don't use MDI. Change the code that opens the child windows to just not set the MDIParent property. When you call show() on those forms, they're show up as full-fledged forms outside of MDI. You shouldn't have to rewrite all that much unless the children reference members in the parent (Which they shouldn't if the app is well designed :whsitle:)

Hope that helps,
Billy3
Billy O'Neal
Oh... sorry for double post -- make sure you turn off the "MDIParent" property on the parent form.

Billy3
aommaster
Hi Billy!

Thanks for your reply smile.gif I was just poking around with VB .Net (because it's fun tongue.gif). I think I'll abandon that search then. By the way: A click-through window allows clicks to go through them. I've never really looked into designing one because it gets a little messy and a little irritating that there's nothing to catch your clicks if you miss (so to speak) and you start running other applications on your desktop or opening random links from the page behind you.

Edit: In relation to this post:
QUOTE
make sure you turn off the "MDIParent" property on the parent form
.
I learnt that the hard way after I couldn't change the parent window's background colour. Had me stumped for a good 30 minutes tongue.gif

Thanks again Billy!
Billy O'Neal
This wouldn't be for a um... mutual project of ours would it?

Billy3
aommaster
Perhaps ... whistling.gif

Currently, I don't think of it as mutual, since most of the coding is yours. I've just poked around, trying to get the hang of what VB .Net is all about, since I hate to see code that's taken a long time to develop go to waste.

Currently, that program now has a timer function that allows you to reset a person's timer, so you don't need to check the topic date, as well as a post preview function that parses BBCode into HTML syntax and shows that to you (this function still needs testing though. I've put it through a decent amount, and it seems to work).

PM me if you'd like more info on this project tongue.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.