Solved

Flat MDI Form

Posted on 2000-05-10
7
569 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
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

[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Question has a verified solution.

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

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
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…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…
Suggested Courses
Course of the Month5 days, 9 hours left to enroll

627 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