Solved

Flat MDI Form

Posted on 2000-05-10
7
555 Views
Last Modified: 2010-04-04
Hi.

How to Create MDI Form that has flat client area ?

I use Delphi 3.

The client area on a MDI form in 3.0 is sunken. If You create a panel above some form (normal form) and set the panel property to Ctl3D = False, i want some thing like that.


Thanks
Adeng.
0
Comment
Question by:adeng
7 Comments
 
LVL 1

Author Comment

by:adeng
ID: 2796880
I try this procedure but fail,


procedure TMyMDIForm.CreateParams(var Params: TCreateParams);
     { declared with override in the form declarations private or protected section}
begin
     inherited CreateParams(Params);

     Params.ExStyle := Params.ExStyle and not WS_EX_CLIENTEDGE;
end;

0
 
LVL 9

Expert Comment

by:ITugay
ID: 2799868
listening....
0
 
LVL 1

Expert Comment

by:AttarSoftware
ID: 2800643
If the window doesn't have to be MDI (please --- as I have said here before, MDI sucks the big one, and *any* other way of doing what you require should be examined first)...but look here for some interesting directions, and ideas:

http://www.elementkjournals.com/ddj/9704/ddj9741.htm

Anyway, enough of my moaning...

Good luck! :O)

Tim.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:adeng
ID: 2801085
Thanks very interesting article, i like it.
0
 

Accepted Solution

by:
W_Fox earned 50 total points
ID: 2805397
Hi! If I got you right you want to have flat MDI parent window.
I'm using the following code for flat MDI parent.

procedure TMainForm.FormCreate(Sender: TObject);
begin
 SetWindowLong(ClientHandle, GWL_EXSTYLE,
    GetWindowLong(ClientHandle, GWL_EXSTYLE) and not
      WS_EX_CLIENTEDGE);
  SetWindowPos(ClientHandle, 0, 0, 0, 0, 0,
    SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE or
      SWP_NOZORDER or SWP_FRAMECHANGED);
end;

This and more usefull stuff is located at:
http://www.ellipse-data.com/delphifaq/devfaq/index.html

p.s. sorry for my bad english ;)
0
 
LVL 3

Expert Comment

by:bryan7
ID: 2805406
listenning
0
 
LVL 1

Author Comment

by:adeng
ID: 2805443
Thanks alot, it works

 :-))

Best Regards
Adeng.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hello everybody This Article will show you how to validate number with TEdit control, What's the TEdit control? TEdit is a standard Windows edit control on a form, it allows to user to write, read and copy/paste single line of text. Usua…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

680 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question