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

C++Builder Discussion :

utilisé le contenu d'un Tstringrid pour afficher un damier


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut utilisé le contenu d'un Tstringrid pour afficher un damier
    Bonjour, j'utilise une police de caractère pour un jeu de dames et je voudrais le faire évoluer vers un graphisme plus sympa.
    La police rempli un Tstringgrid ici BoardGrid.
    Est qu'il est possible de faire une routine qui balaie le TStringGrid et affiche les pions en fonction du contenu de celui-ci ?

    voici 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
    48
    49
    50
    void __fastcall TMainForm::BoardGridDragDrop(TObject *Sender,
          TObject *Source, int X, int Y)
    {
    	int icol, irow;
      int ilist;
      int n, jlist;
      char move[LINE_MAX];
      int lmove;
     
    	BoardGrid->MouseToCell(X, Y, icol, irow);
      if (InvertBoard)
    	  DragTo = DragDropMap[9 - icol][9 - irow];
      else
    	  DragTo = DragDropMap[icol][irow];
    	if ((DragFrom != 0) and (DragTo != 0))
      {
        sprintf(move, "%d/%d", DragFrom, DragTo);
        lmove = strlen(move);
        n = 0;
    		for (ilist = 0; ilist < MovesList->Items->Count; ilist++)
      	{
        	if (strncmp(move, DragDropMovesList->Strings[ilist].c_str(), lmove) == 0)
          {
          	n++;
            jlist = ilist;
          }
        }
        if (n != 1)
        {
          n = 0;
          for (ilist = 0; ilist < MovesList->Items->Count; ilist++)
          {
    	    	if (strcmp(move, DragDropMovesList->Strings[ilist].c_str()) == 0)
           	{
              n++;
              jlist = ilist;
            }
          }
        }
        if (n == 1)
        {
        	MovesList->ItemIndex = jlist;
        	MovesListClick(NULL);
      	}
    		else
        {
        	my_printf("le coup %s est illégal!\n", move);
        }
      }
    }

  2. #2
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut
    Tu peux utiliser l'évènement OnDrawCell pour redessiner l'intérieur de tes cellules à ta guide en fonction du texte qu'elles contiennent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut
    Citation Envoyé par Alfred12
    Tu peux utiliser l'évènement OnDrawCell pour redessiner l'intérieur de tes cellules à ta guide en fonction du texte qu'elles contiennent.
    Bonjour,

    Je cherche plus à afficher des images déjà crées, est-ce qu'il est possible d'afficher une image per cellule dans un TstringGrid avec la fonction Canvas par exemple ?

    Ou est-ce qu'il est possible de reprendre le contenue du TstringGrid pour Alimenter des Timages en dynamique ?

  4. #4
    Membre très actif
    Inscrit en
    Décembre 2004
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 188
    Par défaut
    Citation Envoyé par dybmans
    est-ce qu'il est possible d'afficher une image per cellule dans un TstringGrid avec la fonction Canvas par exemple
    Oui, dans l'évènement OnDrawCell, tu peux utiliser TCanvas.Draw.

    Exemple en Delphi, je pense que c'est compréhensible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       lBmp := TBitmap.Create;
       Canvas.CopyMode := cmSrcAnd;
       FImageList.GetBitmap(lImg,lBmp);
       Canvas.Draw(ARect.left,ARect.Top,lBmp);
       lBmp.Free;

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut Merci pour ton aide
    Merci pour ton aide
    Citation Envoyé par Alfred12
    Oui, dans l'évènement OnDrawCell, tu peux utiliser TCanvas.Draw.

    Exemple en Delphi, je pense que c'est compréhensible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       lBmp := TBitmap.Create;
       Canvas.CopyMode := cmSrcAnd;
       FImageList.GetBitmap(lImg,lBmp);
       Canvas.Draw(ARect.left,ARect.Top,lBmp);
       lBmp.Free;

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

Discussions similaires

  1. [AC-2013] Utilisé le contenu d'une variable pour appeler des objets
    Par GuyDuLac dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/04/2013, 17h05
  2. Réponses: 2
    Dernier message: 31/01/2007, 09h45
  3. [Reseau]FTPClient pour afficher le contenu d'un fichier
    Par boxsters dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 21/06/2006, 11h12
  4. Réponses: 18
    Dernier message: 12/06/2006, 09h39
  5. Réponses: 2
    Dernier message: 04/06/2006, 18h53

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