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 VCL Delphi Discussion :

Grille dessiner les bordures des cellules


Sujet :

Composants VCL Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Grille dessiner les bordures des cellules
    Bonjour a tous

    Alors j'aurais besoin de votre, je suis relativement nouveau sur Delphi, et ce que j'aimerais c'est faire une plateau de jeu assez special, j'aimerais creer une grille de jeu (carrée ou rectangulaire). La grille doit être dynamique ( l'utilisateur doit pouvoir choisir sa taille : NxP)

    Et ce qu'il faudrait, c'est que dès que l'on clique sur un bord de la grille, elle change de couleur.

    Merci d'avance

    A++

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 190
    Points
    190
    Par défaut
    Tout d'abord, bienvenu sur ce forum.

    Pour commencer, je t'invite à utiliser la fonction rechercher et à lire la FAQ

    Ce que tu cherches, c'est dessiner une grille, de dimension variable (redimensionnement au démarrage de l'appli ou en cours d'utilisation ?), dont chaque cellule peut/doit prendre une couleur différente ?

    Je t'invite donc à faire une recherche avec le mot 'grille' ou 'grid' sur ce forum ou dans la faq. Tu y trouveras par exemple ceci :
    http://www.developpez.net/forums/viewtopic.php?t=479523

    Intéresses toi particulièrement à l'évènement OnDrawCell des grids

    Bon dev

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    salut merci pour ton accueil ^^

    Ce que je souhaite réellement, ce n'est pas colorier l'intérieur de la grille, mais uniquement les cotés (les traits de la grille), j'ai essayé avec DrawGrid, et stringrid mais je n'y arrive pas ^^

    En fait je ne souhaite pas vraiment faire une grille, mais un plateau de jeu grillé, afin que l'utilistaur puisse choisir un coté d'un carré de la grille et le changer de couleur

    (dites moi si je ne suis pas tres clair ^^)

    merci d'avance pour votre aide

    cordialement

  4. #4
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Tu peux par exemple placer un TDrawGrid (pour la grille) au beau milieu d'un TPanel (Qui fera office de plateau).
    Comme ça, des que le joueur cliques sur le Panel (OnClick), tu changes sa couleur.

    Qu'en penses tu ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    bon alors tout d'abord merci pour les reponses

    Excusez moi si mes questions sont celles d'un debutant ^^

    Alors ce que tu me conseilles serai qqch comme cela :



    Mais je ne vois pas comment en cliquant sur l'un des bords d'un des carrés de la grille, il changera de couleur ^^

    - Et sinon, est-il possible de dessiner qur la grille ?
    - Est-il possible de changer la couleur (ou supprimer) le marqueur de la grille, celui qui selectionne les cellules ?


    Sinon j'ai aussi pensé à dessiner la grille moi meme, avec un Tcanvas. Cela est-il possible ? Difficile ?

    Merci d'avance et désolé encore pour mes questions de debutant ^^

    Cordialement

  6. #6
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par EPI_03
    bon alors tout d'abord merci pour les reponses

    Excusez moi si mes questions sont celles d'un debutant ^^
    Tu es tout excusé, je crois que je tes raconté n'importe quoi...
    Citation Envoyé par EPI_03
    Alors ce que tu me conseilles serai qqch comme cela :

    Ca donne un look terrible, hein ?
    Citation Envoyé par EPI_03
    Mais je ne vois pas comment en cliquant sur l'un des bords d'un des carrés de la grille, il changera de couleur ^^
    Effectivement, j'avais pas vu que tu parlais des lignes de la grille. Bref c'est là où je t'ai raconté n'importe quoi !
    Alors je te rassures de suite : vu comme est implémenté la méthode paint des grilles Delphi, on a pas le choix de la couleur des lignes (c'est complêtement tarte, je te le concède), c'est donc du coup tout à fait normal si tu ne vois pas comment on peut faire pour changer la couleurs des lignes de la grille, d'ailleurs personne ne pourras te dire.
    Mais on peu arranger ça, en se faisant tranquillement notre composant grille à soi tout seul
    Citation Envoyé par EPI_03

    - Et sinon, est-il possible de dessiner qur la grille ?
    Oui, via l'évènement OnDrawCell
    Citation Envoyé par EPI_03
    - Est-il possible de changer la couleur (ou supprimer) le marqueur de la grille, celui qui selectionne les cellules ?
    même réponse
    Citation Envoyé par EPI_03

    Sinon j'ai aussi pensé à dessiner la grille moi meme, avec un Tcanvas. Cela est-il possible ? Difficile ?
    Oui, et oui...quoique. Même que dans un TPaintBox, c'est peut-être ce qu'il y a de mieux. Jette un oeil ici (il y a de la lecture...) :
    http://www.developpez.net/forums/vie...er=asc&start=0
    Citation Envoyé par EPI_03

    Merci d'avance et désolé encore pour mes questions de debutant ^^
    y'a pas de mal...
    Citation Envoyé par EPI_03
    Cordialement

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    bonjour

    Bon j'essaie depuis pas mal de temps, mais je n'y arrive pas ^^

    Queslqu'un pourrait-il m'aider à créer un tableau manuellement s'il vous plait, sans doute avec les lineto et autre composants comme ça ^^


    Sinon thx pour le lien, mais ce n'est pas exactement ce que je veux faire, ce que je voudrais c'est faire ne grille avec des traits epais, et vide de l'intérieur. car les interactions auront lieu sur les traits pour les faire changer de couleur.

    merci d'avance

    cordialement.

  8. #8
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    Salut

    A ta place, je me servirais de la propriété canvas de la form en utilisant les méthodes moveto, lineto, et les propriétés de pen : width et color...

    Quelques recherches dans l'aide de ton EDI et la FAQ devraient rapidement te permettre d'avancer tout seul comme un grand

    Bonne prog

  9. #9
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    Perso, je supprime les lignes du compo TDrawGrid en mettant la largeur à 0, puis dans l'évènement OnDrawCell, je dessine une ligne en haut et une ligne à gauche avec MoveTo et LineTo (Appui sur la touche F1 pour avoir des explications sur ces fonctions). Pour la dernière ligne et la dernière colonne, je dessine en plus une ligne en bas et une ligne à droite. Résultat, j'obtiens mes propres lignes de séparation des cellules. Tu peux aussi dessiner directement un cadre aux cellules avec la fonction Rectangle...

    Quelques démos utilisant un TDrawGrid (les éxé sont inclus dans les archives) :
    http://sub0.developpez.com/delphi/demogridbmp.zip
    http://sub0.developpez.com/delphi/dgridmap2.zip

    à+

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Salut

    alors merci pour vos reponses

    Moi, ce que j'ai fait : j'ai dessiné la grille moi meme avec des MoveTo et LineTo, et ensuite pour colorier le coté de la grille j'ai utilisé la fonction pixel.

    Mais j'ai un petit probleme, ce que je voudrai c'est colorié un coté d'un carré de la grille lorsque l'utilisateur clique dessus.

    Alors je voudrais savoir si c'est possible ^^ Récupérer les cooordonnées du clic de l'utilisateur et colorier le coté correspondant...

    (Serait-il aussi possible que vous me donnier la fonction qui permet de trouver les coordonnées du clic)

    merci d'avance

    cordialement

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Ok c'est bon j'ai reussi a trouver la fonction, mais il me reste un petit probleme : des que j'essaie d'appeler une procedure de mon mode console, dans mes unites en grpahique ça me mets un message d'erreur


    je sais pas koi faire :'(

    Pouvez-vous m'aider s'il vous plait

    merci d'avance

  12. #12
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    tu utilises surement un objet que tu n'as pas créé (méthode Create) ou que tu as déjà libéré (méthodes Free ou Destry).

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    et bien en fait j'utilise un tableau dynamique que je remplis avec des coordonnées

    Est-ce que je dois faire "create" pour le tableau dynamique ?

  14. #14
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    La déclaration de l'array dynamique " T : array of ..." n'est pas suffisante,
    il faut aussi le dimensionner par une instruction SetLength(T, nnn).

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    oui oui c'est fait ^^

    Mais je pensais que en graphique il fallait un truc .createn pke sinon je ne vois d'où vient l'erreur...

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Je ne vois pa du tout pkoi...

    Ce serait cool si vous pouviez m'aider

    merci d'avance

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    En fait, le probleme ne vient pas que de là, le message d'erreur apparait des que j'utilise mon tableau dynamique sur mes unités graphiques.

    En fait j'ai créé le mode console a part, et je souhaite l'intégrer au graphique, et des que j'utilise ma varibale Tab, le programme affiche une erreur :


    :'(

  18. #18
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    tu l'as déclaré comment ton tableau, stp ?
    Et tu l'utilises comment après (le passes tu en paramètre dans une procédure ???)

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    c'est bon ^^ j'ai résolu le pb

    merci pour votre aide

    A bientôt

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

Discussions similaires

  1. Accentuer les bordures des cellules par défaut
    Par agrimault dans le forum Excel
    Réponses: 5
    Dernier message: 08/09/2010, 20h00
  2. récuperer les contenus des cellules pour un filtre
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2007, 06h18
  3. Coment supprimer les bordures des images dans un lien ?
    Par darkwhite dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 05/11/2006, 17h09
  4. Lire un fichier Excel pour modifier les valeurs des cellules
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/10/2006, 15h13
  5. [VBA-E]Extraire les infos des cellules
    Par boosty dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/04/2006, 09h46

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