Solved

Flat MDI Form

Posted on 2000-05-10
7
559 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
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!

 
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

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

734 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