| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <!doctype html>
- <html lang="en">
- <head>
- <meta http-equiv="Content-type" content="text/html; charset=utf-8">
- <title>Project1</title>
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <style>
- body {
- margin: 0;
- }
- #Div1 {
- position: absolute;
- height: 120px;
- right: 30px;
- }
- #Div2 {
- margin: 10%;
- padding: 10%;
- box-sizing: border-box;
- width: 80%;
- height: 60%;
- }
- #Div3 {
- width: 100px;
- height: 30px;
- }
- </style
- </head>
- <body>
- <div id="Div1"><div id="Div2"><div id="Div3">Div3</div></div></div></body>
- <div style="width: 300px; border: 1px solid red;">
- AAA
- <div style="width: 200px; border: 1px solid red;">
- BBB
- <div style="position: absolute; border: 1px solid red; left:70px;">Ancestor designers aka "visual form inheritance":
- A form/frame/datamodules/etc can be inherited, e.g. TBirdForm can inherit/descend from TAnimalForm. Loading a TBirdForm requires the TAnimalForm lfm (not an instance of TAnimalForm). Writing a TBirdForm requires an instance of TAnimalForm as ancestor for comparison, and writes only the difference to the TBirdForm's lfm.
- Therefore when the designer of TBirdForm is opened, and the TAnimalForm designer is already open it is used as ancestor instance. Otherwise a hidden instance of TAnimalForm is created.
- When a variable is renamed on TAnimalForm instance, the corresponding variable on TBirdForm instance is renamed as well via a recursive search.
- </div>
- CCC<br>
- DDD
- </div>
- EEE
- </div>
- FFF
- </html>
|