IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Ancrage et programmation


Sujet :

Lazarus Pascal

  1. #1
    Invité
    Invité(e)
    Par défaut Ancrage et programmation
    Bonjour,

    A partir de la vignette ci-dessous, comment traduit-on l'ancrage (rouge) en langage de programmation ?

    Le Label1 est "inclus" dans Panel1 (Label1.Parent := Panel1)

    Pour l'ancrage vert, le code suivant semble fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Label1 do begin
         AnchorSideTop.Control:= Panel1;
         AnchorSideTop.Side:= asrCenter;
    End;
    D'une part, je n'arrive pas à aligner le bord droit du Label1 sur le bord droit du Panel1. Et d'autre part, je ne sais pas comment on "écrit" le décalage de 10.

    Merci.
    A+
    Images attachées Images attachées  
    Dernière modification par Invité ; 27/11/2012 à 10h16.

  2. #2
    Invité
    Invité(e)
    Par défaut
    La solution trouvée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Label1 do begin
          AnchorSideTop.Control:= Panel1;
          AnchorSideTop.Side:= asrCenter;
          AnchorSideRight.Control:= Panel1;
          AnchorSideRight.Side:= asrRight;
          BorderSpacing.Right:= 80;
          Anchors:= Anchors + [akTop, akRight];
    End;
    La ligne qui valide et exécute le réglage est Anchors:= Anchors + [akTop, akRight];
    Dernière modification par Invité ; 27/11/2012 à 14h04.

  3. #3
    Invité
    Invité(e)
    Par défaut Ancrage et programmation (suite)
    Rebonjour,

    je crois que j'en ai pas fini avec les ancrages.
    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    procedure TmyBitBtn.Anchoring;
    begin
      if not FGlyph.Empty then
        with FImage do begin
          AnchorSideTop.Control:= Self;
          AnchorSideTop.Side   := asrCenter;
          if FGlyphPosition = aGlyphLeft then begin
            AnchorSideLeft.Control:= Self;
            AnchorSideLeft.Side   := asrLeft;
            BorderSpacing.Left    := FGlyphHorizSpace;
            Anchors := Anchors +[akTop, akLeft];
          end else begin
            AnchorSideRight.Control:= Self;
            AnchorSideRight.Side   := asrRight;
            BorderSpacing.Right:= FGlyphHorizSpace;
            Anchors := Anchors +[akTop, akRight] -[akLeft];
            {!! Par défaut akLeft et akTop sont sélectionnés donc -[akLeft]}
          end;
        end;
     
      with FLabel do begin
        Alignment := taCenter;
        Layout:= tlCenter;
        AnchorSideTop.Control    := Self;
        AnchorSideTop.Side       := asrTop;
        AnchorSideBottom.Control := Self;
        AnchorSideBottom.Side    := asrBottom;
        if FGlyphPosition = aGlyphLeft then begin
          AnchorSideRight.Control := Self;
          AnchorSideRight.Side    := asrRight;
          BorderSpacing.Right     := 0;
          AnchorSideLeft.Control  := Self;
          AnchorSideLeft.Side     := asrLeft;
          BorderSpacing.Left      := FGlyphHorizSpace +FImage.Width;
          // AnchorParallel(akLeft,0,FImage);
          Anchors := Anchors +[akTop, akBottom, akLeft, akRight];
        end else begin
          AnchorSideLeft.Control  := Self;
          AnchorSideLeft.Side     := asrLeft;
          BorderSpacing.Left      := 0;
          AnchorSideRight.Control := Self;
          AnchorSideRight.Side    := asrRight;
          BorderSpacing.Right     := FGlyphHorizSpace +FImage.Width;
          Anchors := Anchors +[akTop, akBottom, akLeft, akRight];
        end;
      end;
    end;
    L'objectif : placer FImage et FLabel l'un à côté de l'autre dans le TCustomControl qui est leur parent. Voir la vignette en bas...

    Le problème : le code de la ligne 35.

    Le contournement : les lignes 32 à 34.
    Comment fait-on cela proprement ?

    Merci.
    Images attachées Images attachées  
    Dernière modification par Invité ; 28/11/2012 à 14h48.

Discussions similaires

  1. [WD16] Ancrage par programmation
    Par WDKyle dans le forum WinDev
    Réponses: 6
    Dernier message: 08/06/2012, 16h33
  2. [WD16] Ancrage de table par programmation
    Par lololebricoleur dans le forum WinDev
    Réponses: 5
    Dernier message: 17/04/2011, 18h06
  3. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo