Newsgroup: it.comp.lang.delphi
Titolo: Allineamento dei componenti...

Ciao a tutti, ho una form dove sono allineati label, checkbox e
image(10x10px), quando mando in esecuzione ed espando la form a pieno
schermo mi trovo label e checkbox allineati mentre i componenti timage li
trovo spostati in alto.
Tuttavia premetto che la proprietà Anchors di tutti i componenti è nulla e
che il disallineamento dei componenti Timage non è standard qualche volta mi
trovo anche che qualche componente image si posiziona al centro dello
schermo (a come gli gira :-)... ).Sapete come si risolve questo problema?
Perchè gli altri componenti (label e checkbox) restano allineati ed i
componenti image no?
esempio schematico della form a designe time
label1                                           checkbox1 []  image1 [ ]
label2                                           checkbox2 []   image2[ ]
a run time succede questo...
image1 [ ]
label1                                           checkbox1 []
image2[ ]
label2                                           checkbox2 []

 Sapete come si risolve questo problema?
Tutti i problemi di questo tipo io li risolvo innestando pannelli dentro
pannelli e sfruttando la proprieta' Align degli stessi.
E' un po' come il gioco delle matrioske.
Appena ho un attimo di tempo ti spiego anche come impostare un sistema
efficace. poi il resto e' tutto compito tuo, perche' sei il solo a sapere
come devono essere messi i tuoi controlli.
Ciao
-- 
Morde. 
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 come devono essere messi i tuoi controlli.
Non ti do' la spiegazione perche' e' meglio che ci arrivi col ragionamento,
cosi' poi sarai autonomo. ti faccio un cut'n paste del progetto intero.
-----------
C:\temp\Project1.dpr
program Project1;
uses
  Forms,
  unit1 in 'unit1.pas' {Form1};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
-----------
C:\temp\unit1.pas
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
  Dialogs, ExtCtrls, StdCtrls;
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    CheckBox1: TCheckBox;
    Panel3: TPanel;
    Image1: TImage;
    Panel4: TPanel;
    Image2: TImage;
    Panel5: TPanel;
    Panel6: TPanel;
    CheckBox2: TCheckBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
end.
---------------------
C:\temp\unit1.dfm
object Form1: TForm1
  Left = 367
  Top = 478
  Width = 487
  Height = 287
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Panel1: TPanel
    Left = 0
    Top = 0
    Width = 479
    Height = 113
    Align = alTop
    Caption = 'SOPRA'
    TabOrder = 0
    object Label1: TLabel
      Left = 1
      Top = 1
      Width = 116
      Height = 111
      Align = alLeft
      Caption = 'LABEL1'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -32
      Font.Name = 'MS Sans Serif'
      Font.Style = []
      ParentFont = False
    end
    object Panel3: TPanel
      Left = 368
      Top = 1
      Width = 110
      Height = 111
      Align = alRight
      Caption = 'PNL CONTENITORE IMG 1'
      TabOrder = 0
      object Image1: TImage
        Left = 4
        Top = 1
        Width = 105
        Height = 109
        Align = alRight
      end
    end
    object Panel5: TPanel
      Left = 200
      Top = 1
      Width = 168
      Height = 111
      Align = alRight
      Caption = 'Contenitore chkbox1'
      TabOrder = 1
      object CheckBox1: TCheckBox
        Left = 40
        Top = 72
        Width = 97
        Height = 17
        Caption = 'CheckBox1'
        TabOrder = 0
      end
    end
  end
  object Panel2: TPanel
    Left = 0
    Top = 128
    Width = 479
    Height = 125
    Align = alBottom
    Caption = 'SOTTO'
    TabOrder = 1
    object Label2: TLabel
      Left = 1
      Top = 1
      Width = 118
      Height = 123
      Align = alLeft
      Caption = 'LABEL2'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -32
      Font.Name = 'MS Sans Serif'
      Font.Style = []
      ParentFont = False
    end
    object Panel4: TPanel
      Left = 368
      Top = 1
      Width = 110
      Height = 123
      Align = alRight
      Caption = 'PNL CONTENITORE IMG 2'
      TabOrder = 0
      object Image2: TImage
        Left = 4
        Top = 1
        Width = 105
        Height = 121
        Align = alRight
      end
    end
    object Panel6: TPanel
      Left = 200
      Top = 1
      Width = 168
      Height = 123
      Align = alRight
      Caption = 'Contenitore chkbox2'
      TabOrder = 1
      object CheckBox2: TCheckBox
        Left = 40
        Top = 72
        Width = 97
        Height = 17
        Caption = 'CheckBox2'
        TabOrder = 0
      end
    end
  end
end
--------------------------
Dai il run, massimizza la finestra e vedrai che i componenti restano al
loro posto.
Per capire l'inscatolamento dei pannelli in relazione ai loro allineamenti,
aiutati con l'Object Treeview  (Shift+Alf+F11) io soto usando D6.
Buon lavoro,
ciao!


 ha scritto nel messaggio
news:3ljmi2wr8l5a.2...@40tude.net...
