Solved

Delphi2010: Layout Problem

Posted on 2010-11-19
8
443 Views
Last Modified: 2012-05-10
hi all,

in one project there is a form A which use a parent form B.

in form A there is a TEdit component, if this component is moved vertically in the IDE, it can be correctly displayed when the application runs. But if this componet is moved  horizontally in the IDE, it turns back to the original position when the application runs.

following are some related information of this TEdit component:

Align: alNone
left: 200

any suggestion?

btw, are there special books or ressource to explain how to design layout in Delphi?

thanks,

wantime
0
Comment
Question by:wantime
8 Comments
 
LVL 36

Expert Comment

by:Geert Gruwez
ID: 34171638
post the 2 dfm sources

there is some considerations when redesigning the parent form
when using VFI (Visual Form Inheritance)
0
 
LVL 24

Accepted Solution

by:
jimyX earned 167 total points
ID: 34171680
When Form B calls form A do you set the Left value of the TEdit component in your code (e.g. OnFormA Show or even from Form B) ?
0
 

Author Comment

by:wantime
ID: 34171688
thanks, but the codes is not for public.

0
 
LVL 36

Expert Comment

by:Geert Gruwez
ID: 34171695
then post only the related piece of code

the header of the form
and the piece for the edit

of both forms

too many variables otherwise to ask for
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 36

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 167 total points
ID: 34171789
the biggest problem is with default values
and if they are stored or not in the dfm

this is not so for positioning, but i'm just trying to explain with the property Left

sample:
  default value for property Edit.Left: 50
  if default value > not stored in dfm

start situation
Form A dfm
  > Edit1.Left = 60

Form B dfm (inherited from Form A)

Form B will only store the differences with Form A

situation 2: change form B
Form B
  > Edit1.Left = 80
> save form B > no problem

situation 3: change form A
Form A
  > Edit1.Left = 70
> save form A

the component Edit1 will remain on Edit1.Left = 80 on Form B

there may be other factors  too
 like anchors, margins, oldcreateorder

0
 
LVL 32

Assisted Solution

by:ewangoya
ewangoya earned 166 total points
ID: 34173463

You probably have code thats specifically setting the the edit's left property or some event that when triggered repositions the Edit

In an inherited form, if you move a control, the controls position is saved in the dfm and thats whats loaded.
0
 
LVL 21

Expert Comment

by:developmentguru
ID: 34180273
You should be able to, easily, create a do nothing example project that you CAN post on this site.  Then the experts would at least have something to work with...
0
 

Author Comment

by:wantime
ID: 34195536
thanks. there are some codes which resetting the edit's left property.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

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…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

706 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

17 Experts available now in Live!

Get 1:1 Help Now