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 :

[TdrawGrid] Ins�rer un bouton


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut [TdrawGrid] Ins�rer un bouton
    Bonsoir,

    je voudrais savoir s'il possible de mettre un bouton dans une case d'un tdrawgrid. Et quel est le code si c'est le cas. Merci d'avance.

  2. #2
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir,

    Je te laisse un bout de code, qui m'a servi de test pour qqchose de similaire...

    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
     
    void __fastcall TForm2::DrawGrid1DrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
    //
    if (ACol == 0)
    {
      DrawGrid1->Canvas->Brush->Color = clInfoBk;
      DrawGrid1->Canvas->FillRect(Rect);
      Form1->ImageList1->Draw(DrawGrid1->Canvas,Rect.Left + 9,Rect.Top + 9,7);
      DrawGrid1->Canvas->Font->Color = clRed;
      DrawGrid1->Canvas->TextOutA(Rect.Left + 4, Rect.Top + 1, AnsiString("Supprimer") + ARow);
    }
    else
    {
    if (ARow == 2)
    {
      DrawGrid1->Canvas->FillRect(Rect);
      Form1->ImageList1->Draw(DrawGrid1->Canvas,Rect.Left + 9,Rect.Top + 9,8);
    }
    }
    }
    C'est donc dans l'�v�nement OnDrawCell du DrawGrid, et ca marche aussi pour le StringGrid d'ailleurs...
    Donc passe ca au mixer, assaisonne a ton gout, en esp�rant que cela te serve.
    @ +

    PS : j'avais donc stock� les images 'boutons enfonc�'/'boutons relev�' dans une TImageList, d'ou leur apparition dans ce code...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Merci bien je vais essayer de m'en sortir avec �a et pis si j'arrive pas je ferai un appel

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Bonsoir,
    Donc voila je vais expliquer plus en d�tail ce que je voudrais faire. J'affiche les r�sultats de requ�te sur une base de don�es dans un TDrawGrid. Et comme il s'agit d'une CDth�que, cela m'affiche le titre de l'album, la dur�e, etc... Ce que je voudrais faire c'est pouvoir faire un bouton ou une action me permettant d'ajouter � un panier l'album se trouvant sur la ligne de mon Grid.(Il peut y avoir plusieurs album diff�rents pour une meme groupe d'o� la n�cessit� d'avoir pour chaque ligne la possibilit� de mettre le CD au panier.)
    Voil� j'esp�re que je me suis � peu pr�s exprim� clairement de fa�on � ce que vous compreniez.
    Merci � tous.

    PS: J'ai lu ton code Cantrelle mais je ne vois pas trop, d'o� ce nouveau post et merci � toi.

  5. #5
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Salut,

    J'affiche les r�sultats de requ�te sur une base de don�es dans un TDrawGrid.
    Mais pourquoi n'utilises-tu pas un DBGrid pour afficher le r�sultat d'une requete ?

    @ +

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    lol
    Parce que je suis pas bon et que je me suis fait aid� par slylafone et que �a marche nikel et que j'ai ce que je veux. Une autre question?? lol. J'ai tout fait � l'ancienne � la main sans utiliser le module de BD de BCB.
    Je comprends mieux comme �a. Bref maintenant c'est fait je vais pas me retaper les 3/4 de la programmation que j'ai faite sinon je pete un cable( j'ai d�j� pr�cis� que j'�tais mauvais )
    Voil� c'est tout.

    PS: j'utilise sqlite c'est aussi pour �a

  7. #7
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir,

    Tu peut �ventuellement essayer ceci :
    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
     
    void __fastcall TForm2::Button13Click(TObject *Sender)
    {
    Form2->DrawGrid1->ControlStyle << csAcceptsControls;
    TButton *pBtton = new TButton(Form2->DrawGrid1);
    pBtton->Parent = Form2->DrawGrid1;
    pBtton->Caption = "Essai";
    pBtton->OnClick = pBttonClick;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::pBttonClick(TObject* Sender)
    {
    ShowMessage(((TButton *)Sender)->Name);
    }
    //---------------------------------------------------------------------------
    avec dans le .H:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    void __fastcall pBttonClick(TObject* Sender);
    Cela place un TButton dans un TDrawGrid mais.....l'�v�nement Onclick() ainsi d�sign� ne r�agis pas et - je suis peut etre pass� a c�t� de qqchose - je n'ai toujours pas trouv� pourquoi.
    Ne m'oublies pas si jamais tu obtiens la solution
    C'est pour cela que je t'avais post� un code qui dessine des boutons soit enfonc�s soit relev�s (images stock�es dans un TImageList), et qu'avec cela en g�rant l'�v�nement OnSelectCell tu aurais pu essayer de redessiner le bon bouton et d'appliquer les actions n�c�ssaires pour garnir ton panier...

    @ +

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Je voulais essayer de faire quelquechose dans ce style:
    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
    while (result == SQLITE_ROW)
                {
                    AnsiString *pA = new AnsiString[mFieldCount];
                    for (i=0; i<mFieldCount-1; i++)
                    {
                    pA[i] = AnsiString((char *) sqlite3_column_text(pStmt, i));
                    }
                    //result = sqlite3_step(pStmt);
                    for(i=mFieldCount-1;i<mFieldCount;i++)
                    {
                     TButton *pA;
                     pA[i]=*Button1;
                    }
                    mpResults->Add(pA);
                    result = sqlite3_step(pStmt);
                 }
    Mais il me sort que Button1 n'est pas d�fini, je l'ai quand meme mis dans mon TForm alors je comprends pas.(je suis naif )J'ai aussi #include mon TForm.h mais c'est toujours pas d�fini.

    Sinon merci pour ta recherche sur mon bouton. Si ta une id�e sur ce que j'ai mis et comment la corrig�e je suis preneur. Et pis je vais quand meme regarder ce que tu m'as mis.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Iop,
    j'ai essay� ta m�thode et je ne comprends pas non plus pourquoi sur le onclick rien ne se passe.tout semble pourtant bon. Je m'interesse donc � ta m�thode de pr�s. Faut juste que je trouve ensuite comment mettre le bouton qui apparait � la bonne place dans mon TDrawGrid et que je puisse effectuer quelquechose dessus ensuite.
    Voila bonne nuit ami programmeur.(je suppute que tu n'est pas une fille :p d'o� pas de "e" � "ami").

  10. #10
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Bonsoir Meno,
    (codeur nocturne, lol)

    Ben d�ja tu d�clares dans la m�me port�e (si j'ai bien compris) :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    AnsiString *pA //etc, etc
    et
    Je ne pense pas que ce soit une bonne id�e....Pour cr�er un nouvel objet, tu dois utiliser l'op�rateur new (comme j'ai fais au dessus).
    Sinon de toutes fa�ons, j'aurais s�par� l'�criture des donn�es dans le TDrawGrid de la cr�ation des boutons. J'aurais plut�t cr�e les boutons dans l'�v�nement OnDrawCell (d�clench� par l'ecriture dans les cellules du TDrawGrid), ce qui permet de r�cup�rer par ex les indices ACol et ARow qui permettent de d�signer dans quelle cellule dessinner telle ou telle chose (par ex).
    Reste le 'petit souci' de l'�v�nement OnClick sugg�r� plus haut...

    Pour le OnSelectCell, un bout de code bricol� pour un test pr�c�dent (en partant du principe que les images-boutons etaient d�ssin�es dans la premi�re colonne) :
    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
     
    void __fastcall TForm2::StringGrid1SelectCell(TObject *Sender, int ACol,
          int ARow, bool &CanSelect)
    {
    if (ACol == 0)
    {
    TRect pRect = Form2->StringGrid1->CellRect(ACol, ARow);
    String S = Form2->StringGrid1->Cells[ACol][ARow];
    TGridDrawState State;
    Form1->ImageList1->Draw(Form2->StringGrid1->Canvas,pRect.Left + 9,pRect.Top + 9,8);
    if (MessageDlg(Ansistring("Inclure ") + S + (" a la liste ?"), mtWarning, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
    {
    //LA TU FAIS CE QUE TU VEUX
    }
    else
    {
    State.Clear();
    Form2->StringGrid1DrawCell(Form2->StringGrid1, ACol, ARow, pRect, State);
    }
    }
    }
    A revoir et am�liorer surement

    Je n'avais pas vu ton dernier message : bonne nuit�e de m�me Meno

    @ +

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Iop je me serai bien servi de ton code pour trouver une astuce la mais erf pas moyen dans les TDrawGrid, il n'y a apparament pas de Cells. ce qui ne me permet pas de selcetionner une cellule en particulier. J'ai essay� de trouver quelquechose qui ressemblait a Cells mais je n'ai rien trouver.
    C'est la loose :p

  12. #12
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Salut,

    Effectivement, j'aurais pas du changer de marque de bi�re, ca m'�parpille la cervelle...Et puis, c'est vrai d'abord, t'aurais pu choisir un DBGrid (ou un truc comme ca) comme tout le monde pour afficher le r�sultat d'une requ�te, tu le fais expres ou quoi ? (lol, je plaisante bien sur ).
    Bon et bien de ce fait on ne peut pas r�cup�rer a priori le texte affich� dans la 'Cells'....Mais au moment ou tu renseignes le TDrawGrid, puisque chaque ligne semble correspondre a un CD diff�rent, tu peut stocker au fur et a mesure le nom de chaque CD dans une TStringList.
    Comme on peut savoir grace a l'�v�nement OnSelectCell l'indice de la ligne selectionn�e, cet indice peut te servir a d�signer un �l�ment de la TStringList et donc r�cup�rer le nom du CD choisi ...et continuer a travailler .

    @ +

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Euh tu as pris quoi comme marque de bi�re?? Parce que ouaouh elle a l'air puissante c'est de la belz�buth??
    Bon sinon je peux toujours essayer(je dis bien essayer d'utiliser un DBGRID). Ca me simplifiera peut etre la tache enfin sinon je tiens comte de toutes tes jolies remarques et j'essaie � chaque fois un nouveau truc. La j'ai essay� d'utilis� un TstringGrid mais avec ma liste le r�sultat est affich� dans mon Grid mais hihi si je cherche � faire un ShowMessage d'une case particuliere et bien ya rien youpi..La je commence vraiment � me perdre dans les m�andres du fin fond du c++et de la VCL.

  14. #14
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    Montres un bout de code au sujet de ce TStringGrid, ca pourra toujours aider...merci.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Voici Voila aussitot dit aussitot fait.

    bref voici un bout de code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __fastcall TForm1::GridDrawCell(TObject *Sender, int ACol, int ARow,
          TRect &Rect, TGridDrawState State)
    {
            AnsiString text;
            if (ARow > Rechercher.Count()) return;
            if (ARow == 0) text = Rechercher.GetFieldName(ACol+1);
            else text = Rechercher.GetField(ARow, ACol+1);
            Grid->Canvas->TextRect(Rect, Rect.left+4 , Rect.top+4 , text);
    }
    et
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void __fastcall TForm1::GridSelectCell(TObject *Sender, int ACol, int ARow,
          bool &CanSelect)
    {
     
     CanSelect=(Grid->Cells[ACol][ARow]=="test");
     AnsiString S="hello";
     S=Form1->Grid->Cells[ACol][ARow];
     ShowMessage(S);
     
     
    }
    La pour le ShowMessage(S); ben ya rien niet que neni. Et le CanSelect(trouv� grace � laide borland) ne fonctionne pas non plus, ce qui parait logique puisque S="" quelquesoit les valeurs de cellules sp�cifi�es, donc mes cellules sont vide or c'est pas possible vu que j'ai � l'affichage les r�sultats de ma requ�te.
    PS: dsl j'ai mis du temps je cherchais � ins�rer l'image de ce que j'avais mais j'ai pas trouv� comment faire.

  16. #16
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut
    (re)Salut,

    Bon, d�ja toutes mes excuses, je ne comprends pas d'ailleurs mais j'ai le m�me ph�nom�ne...Bon si on reste sur le TDrawGrid et le coup de la TStringList :

    Avec dans le .H:
    et avant le chargement de la grille :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    pList = new TStringList();
    Puis :
    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
     
    void __fastcall TForm2::DrawGrid1DrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
    //
    if (ACol == 1 && ARow > 0)
    {
      DrawGrid1->Canvas->Brush->Color = clInfoBk;
      DrawGrid1->Canvas->FillRect(Rect);
      Form1->ImageList1->Draw(DrawGrid1->Canvas,Rect.Left + 9,Rect.Top + 9,7);
      DrawGrid1->Canvas->Font->Color = clRed;
      DrawGrid1->Canvas->TextOutA(Rect.Left + 4, Rect.Top + 1, AnsiString("Disque ") + ARow);
      pList->Add(AnsiString("Disque ") + ARow);
    }
    }
    et
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void __fastcall TForm2::DrawGrid1SelectCell(TObject *Sender, int ACol,
          int ARow, bool &CanSelect)
    {
    if (ACol == 1 && ARow > 0 )
    {
    ShowMessage(pList->Strings[ARow - 1]);
    }
    }
    @ +

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Re iop,
    Alors soit je suis fou soit tu viens de poster. lol je dis ca parce que je voyais pas qu'on �tait d�j� � la deuxieme page et que j'actualisais la premi�re depuis que j'ai post�. Je vais essayer le coup de la TList.. Cela me semble etre une bonne alternative.En tout cas merci.

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Euh, si je suis bien ton code l�
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void __fastcall TForm2::DrawGrid1DrawCell(TObject *Sender, int ACol, 
          int ARow, TRect &Rect, TGridDrawState State) 
    { 
    // 
    if (ACol == 1 && ARow > 0) 
    { 
      DrawGrid1->Canvas->Brush->Color = clInfoBk; 
      DrawGrid1->Canvas->FillRect(Rect); 
      [u]Form1->ImageList1->Draw(DrawGrid1->Canvas,Rect.Left + 9,Rect.Top + 9,7); [/u]  DrawGrid1->Canvas->Font->Color = clRed; 
      DrawGrid1->Canvas->TextOutA(Rect.Left + 4, Rect.Top + 1, AnsiString("Disque ") + ARow); 
      pList->Add(AnsiString("Disque ") + ARow); 
    } 
    }
    tu utilises toujours ta liste d'image dans la premi�re colonne c'est cela non?Bon je vais aller manger apr�s j'essaie. � toute et encore comme toujours merci

  19. #19
    Membre �prouv�
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifi�)
    Inscrit en
    D�cembre 2004
    Messages
    2 059
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activit� : OPNI (Objet Programmant Non Identifi�)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 2 059
    Par d�faut

    tu utilises toujours ta liste d'image dans la premi�re colonne c'est cela non?
    Ben c'est juste une proposition pour le test comme ca...apr�s tu fais ce que tu veut bien entendu.
    Bon app, @ +


  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    21
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 21
    Par d�faut
    Iop,
    Je crois ta pas besoin de rechercher un cerveau de programmeur mon Gars. Ton truc c'est parfait. J'ai modifi� quelques petites choses pour que �a marche comme je voulais mais la je te remercie �norm�ment du fond du coeur. J'aurai pass�3jours dessus avec toi mais �a valait le coup. Bref maintenant juste une petite fonction � faire et hop.(Petite fonction qui va bien me prendre la tete je pense).
    Bref quand mon projet sera fini je te l'enverrai comme �a tu pourras regarder en quoi tu m'as aid� (enfin si �a t'int�resse) . Et puis voil� je te montre un peu ce que j'ai mis mais merci merci merci. Et pis le noctambule c'est pas que moi . Je te proposerai bien de venir boire une biere chez moi mais je suis pas sur que �a le fasse pour toi, tu dois pas etre bien � cot�. Ta le choix, Le Mans ou Cluny
    Bon ben bonne soir�e. Pour ce soir �a m'ira demain je me tente la fonction qui permet de rajouter l'article au panier.
    Encore Merci,

    Et surtout Bonne nuit�e AMI programmeur (je pense que je suis nul en C++ mais ce projet va me faire bien avancer dans mon niveau).
    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
    void __fastcall TForm1::GridDrawCell(TObject *Sender, int ACol, int ARow,
          TRect &Rect, TGridDrawState State)
    {
     
            AnsiString text;
            pList=new TStringList();
            if (ARow > Rechercher.Count()) return;
            if (ARow == 0) text = Rechercher.GetFieldName(ACol+1);
            else text = Rechercher.GetField(ARow, ACol+1);
            Grid->Canvas->TextRect(Rect, Rect.left+4 , Rect.top+4 , text);
            if(ACol==3&&ARow>0)
                    { Grid->Canvas->Brush->Color = clInfoBk;
                      Grid->Canvas->FillRect(Rect);
                      Grid->Canvas->Font->Color = clRed;
                      Grid->Canvas->TextOutA(Rect.Left + 4, Rect.Top + 1, AnsiString("ajouter"));
                      for(int i=0;i<ARow;i++)
                      {
                      pList->Add(AnsiString("Disque ") + (i+1));
                      }
                     }
     
    }
    et
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __fastcall TForm1::GridSelectCell(TObject *Sender, int ACol, int ARow,
          bool &CanSelect)
    {
     
     if (ACol == 3 && ARow > 0 )
    {
    ShowMessage(pList->Strings[ARow - 1]);
    }
    }

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. Comment ins�rer un bouton dans un TJvOutlookBar ?
    Par neuneu1 dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 29/10/2007, 23h28
  2. Ins�rer des boutons pour personnaliser un menu
    Par rimbaut dans le forum Excel
    R�ponses: 2
    Dernier message: 27/07/2007, 12h21
  3. JTable : comment ins�rer un bouton dans une cellule ?
    Par donyas dans le forum Composants
    R�ponses: 2
    Dernier message: 08/08/2006, 15h54
  4. Ins�rer un bouton en fournissant une valeur � onclick !
    Par stitch dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 26/05/2006, 01h10
  5. R�ponses: 9
    Dernier message: 07/10/2005, 16h47

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