Forms in SDI Application do not become active

beavei
beavei used Ask the Experts™
on
Hi Experts,

Got a funny one... I have created an application that has a main host form that is very ms outlookish with the nav bar on the left. When I click on a button of the nav bar it shows an auto-created form with the very simple:

frmSampleForm.Show;          //show my auto-created form
frmSampleForm.Parent := frmMain.pnMainStage;         //make the panel pnMainStage the parent to 'hold' the newly displayed form

The problem is this, when I select a few buttons and have multiple SDI forms just floating around on the pnMainStage panel non of them are active even when they have focus. The title bar just remains the same opaque blue as when it was inactive. Even if I only have one 'child'(with respect to the main form not in MDI relationship) form this still occurs. When the 'child' windows are cascaded upon each other I have to actually select the title bar to bring it to the front/top, selecting anywhere else on the form doesn't do so.

ideas anyone?? Thanks

Ian
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2004

Commented:
usual you have no sdi-app, its more a pseudo-mdi-app
(just because you parented your childs)

to get an active-caption, you must call
setActiveWindow(ChildHandleHere);
by hand

meikl ;-)
Hi,

This is because only one window can be selected by default (have a highlighted caption) and it is the main form in your case.

Regards, Geo
Top Expert 2004
Commented:
hmm, digged a bit in my asked questions:

http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20358590.html

--- the answer from lee_nover
hi
try this:

..
private
    { Private declarations }
    procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
..

procedure TForm2.CMMouseEnter(var Msg: TMessage);
begin
     PostMessage(Handle, WM_NCACTIVATE, 1, 0);
end;


works for me :)
-----------

meikl ;-)

Author

Commented:
Pseudo-MDI App, yep that's what it is.... :)

Thanks Guys, I will have a play with it over the next couple of days and get back to you...

Ian

Author

Commented:
Thanks for the info, it works. Although I have run into a couple more problems which I will ask in another question.

Cheers,

Ian

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial