?
Solved

Read SDI window dimensions in Delphi

Posted on 2008-10-20
3
Medium Priority
?
414 Views
Last Modified: 2011-10-19
Hello,

  I need to create a Delphi active X control to take a passed windows handle and find out the internal dimensions of the window.  The form is from an SDI program (Axapta 3.0) and I need to be able to find out the screen size from the bottom of the main menu to the top of the status bar (The attached file is a jpeg of the main screen.  Since all the forms appear inside this frame, I need to get the frame dimensions.  Is there any windows mechanism for finding this out?

Tom T.
Image1.jpg
0
Comment
Question by:tturney
  • 2
3 Comments
 
LVL 21

Expert Comment

by:ziolko
ID: 22760098
try: GetClientRect()

p.s. you meant you have MDI not SDI:)

ziolko.
0
 

Author Comment

by:tturney
ID: 22771314
Ziolko,

  Your right, I meant MDI.  The problem with GetClientRec() is that it gives me windows dimensions and not the client area.  I tried SystemParametersInfo with SPI_GETWORKAREA, but the same result.

Tom T.
0
 
LVL 21

Accepted Solution

by:
ziolko earned 1500 total points
ID: 22773948
SystemParametersInfo() with SPI_GETWORKAREA will give you work area of primary monitor not client area of application. GetClientRect() should give you dimmensions of client area of window which handle is passed as parameter.
right and bottom members of rect structure should contain width and height of client area but to be honest I'm not sure if main menu and toolbar are included in client area

ziolko.
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

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This is an update to some code that someone else posted on Experts Exchange. It is an alternate approach, I think a little easier to use, & makes sure that things like the Task Bar will update.
When cloud platforms entered the scene, users and companies jumped on board to take advantage of the many benefits, like the ability to work and connect with company information from various locations. What many didn't foresee was the increased risk…
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
Suggested Courses
Course of the Month7 days, 19 hours left to enroll

616 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