Hi, Looking for more information on MDI I ran into this:
> > 2001-04-03 08:40 > > Please have a look at the GOE (GUI Object Explorer) at > > http://www.fairymails.com/perl/ > > Download either goe.zip or the the other three files (which are > > actually the contents of the zip), start goe.pl and give it a > > Win32-GUI script in the fileopen dialog. If it happens to find a *.ui > > file of the same name, it offers to include this as part of the script > > - this is to interface to David's gb109. Maybe we can melt the goe - > > once ready - into the gb and call it ide? > > I've been planning a gui debugger for the last few days (although I > haven't actually written any code yet). I think an IDE would be a > great idea. With GB,GOE, an editor, and a debugger, it would be a > pretty complete tool. Maybe we should start working on this > together. If we do, we should probably design with the NEM in mind. > As for the editor, Aldo mentioned that he was planning on adding a > Scintilla component. As I had never heard of it before, I looked it > up, and it would be a much better editor than RichEdit. RichEdit > will do in the meantime, although it would mean creating a syntax > highlighting routine. > Finally, I think it would be great if we could do it in a Multiple > Document Interface, but last time I tried to use it, Win32::GUI::MDI > was not working yet. I have not yet tried it in 0.0.558, though. > Any news, Aldo? > That sounds very good, but it's written almost 2 years ago. Did anything happen with these plans? Is there any news, did this editor ever got released? However, I'm still playing around with the GUI::MDI Package. It looks like something although not all events seem to work. And I have some points of discussion/question. If anyone knows some more about MDI and the points listed below, please help: - if you create a MDI parent with Visual Basic for example, things like maximizing are done in a very nice way: the system buttons (minimize/close etc) become attached to the menu bar of the parent window and the title bar of the child disappears. And when you resize the parent the maximized child resizes too. Run my example, maximize a child and resize the parent - you'll see what I mean. - another thing is the menu. VB automaticle extends the menu of the parent with any menu given with a child. That's nice - its not neccesary in Win32::GUI - I could write such code myself. - also, the child windows never seem to get focus, or become activated. The titlebars stay gray. I would like the topmost child window to have a blue titlebar as well - just like the parent. Here's my code: use Win32::GUI; my @sub_windows; my $menu = new Win32::GUI::Menu( "&Window" => "mnu_window", " > &Create a new window" => "mnu_win_new", ); my $window = new Win32::GUI::Window( -name => 'main_window', -pos => [0,0], -size => [640,480], -text => "MDI Application test", -menu => $menu, -addstyle => WS_CLIPCHILDREN, ); $window->AddStatusBar ( -name => "status", ); my $MDI = new Win32::GUI::MDI ( -name => "MDI", -pos => [0,0], -parent => $window, ); $window->Show(3); # 3 = MAXIMIZED Win32::GUI::Dialog(); exit; sub mnu_win_new_Click { my $num = @sub_windows; my $menu = new Win32::GUI::Menu( "&Window" => "mnu_window", " > I am window &$num" => "mnu_win$num", ); my $win = Win32::GUI::Window->new ( -name => "sub_window_$num", -text => "Window $num", -size => [200,200], -parent => $MDI, -menu => $menu, -addstyle => WS_CHILD | WS_CLIPSIBLINGS, -topmost => 1, ); $win->Show(); eval "sub sub_window_${num}_Maximize {print '$num got maximized!\n';}"; push @sub_windows, $win; } sub main_window_Terminate { return -1; } sub main_window_Resize { $window->status->Move(0,$window->ScaleHeight - 20); $window->status->Resize($window->ScaleWidth,25); $window->MDI->Resize($window->ScaleWidth,$window->ScaleHeight - 20); } thanx in advance Roelof