Solved

Flat MDI Form

Posted on 2000-05-10
7
549 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
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
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

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
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…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

762 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

19 Experts available now in Live!

Get 1:1 Help Now