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

Composants FMX Delphi Discussion :

Colonne de grille en arabe (RTL) [Windows]


Sujet :

Composants FMX Delphi

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 634
    Billets dans le blog
    65
    Par défaut Colonne de grille en arabe (RTL)
    Bonjour,

    Ma question en fait une demande de test est surtout destiné à nos amis arabisants nombreux sur le forum, je ne sais si ces derniers connaissent cette astuce.

    Avec une version Tokyo ou Berlin je voudrais qu'une colonne d'une TGrid (voire même une TStringGrid) soit affichée en BiDi en théorie je sais comment faire reste à le tester.

    Pour cela il vous faut une forme contenant une grille avec au minima une colonne que vous nommerez 'bdicol' qui contiendra du texte soit en "occidental" soit en "oriental" (c'est là où je bloque pour le test).
    Ensuite il vous faut ajouter un "simple" évènement OnDrawCell pour la grille

    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
    uses ..., FMX.TextLayout;
     
    procedure TForm1.Grid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas;
      const Column: TColumn; const Bounds: TRectF; const Row: Integer;
      const Value: TValue; const State: TGridDrawStates);
    var aTextLayout : TTextLayout;
    begin
       if SameText(Column.Name,'bidicol') then
        begin
          Canvas.Fill.Color:=TAlphaColors.Black;
           Canvas.FillText(Bounds,Value.ToString,false,1,[TFillTextFlag.RightToLeft],TTextAlign.Leading);
     
         {  pour info FillText est marqué comme :  "deprecated, use TTextLayout" dans les sources (FMX.Graphics) 
            utiliser un TTextLayout permet plus de possibilités
            mais au détriment de la longueur du code }
         { code avec TextLayout}
         //ATextLayout:=TTextLayoutManager.TextLayoutByCanvas(Canvas.ClassType).Create(Canvas);
         //ATextLayout.BeginUpdate;
         //ATextLayout.Text:=Value.ToString;
         //ATextLayout.Color:=TAlphaColors.Black;
         //ATextLayout.TopLeft:=Bounds.TopLeft;
         //ATextLayout.MaxSize := PointF(Bounds.Width, Bounds.Height);
         //ATextLayout.VerticalAlign:=TTextAlign.Center;
         // c'est ici que ça se passe 
         //ATextLayout.RightToLeft := True;
         //ATextLayout.EndUpdate;
         //ATextLayout.RenderLayout(Canvas); 
        end;
     
    end;
    en PJ ma tentative qui me semble infructueuse
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Activer les colonnes d'une grille
    Par Maure dans le forum Composants VCL
    Réponses: 6
    Dernier message: 25/11/2008, 15h10
  2. [C#][Débutant] Comment récuperer la valeur d'une colonne d'une grille
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/04/2006, 05h40
  3. Gestion des colonnes d'une grille.
    Par Maglight dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/12/2005, 19h02
  4. Création dynamique colonne d'une grille
    Par Maglight dans le forum Composants VCL
    Réponses: 3
    Dernier message: 29/11/2005, 15h31
  5. Champs d'une requête et Colonne d'une grille rattaché
    Par Andry dans le forum Bases de données
    Réponses: 4
    Dernier message: 11/10/2005, 09h39

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