Solved

Flat MDI Form

Posted on 2000-05-10
7
550 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…
A company’s greatest vulnerability is their email. CEO fraud, ransomware and spear phishing attacks are the no1 threat to a company’s security. Cybercrime is responsible for the largest loss of money to companies today with losses projected to r…

932 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now