Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    22

    aiuto colore StringGrid in borland c++ builder 6

    ciao a tutti ho riscontrato un problemino con una stringgrid

    allora vorrei che selezionando con un singolo clic (al momento dell'secuzione) una cella singola della stringgrid l'intera riga di cui fa parte venisse colorata di un colore a mia scelta..... ho letto in qualch posto che esiste l'evento ondrawcell ma non ho capito il modo di utilizzarlo e se veramente è quello che fa per me....

    RIPETO vorrei che la riga mi si colorasse per l'evento "SelectCell" dell'oggetto StrinGrid quindi solo in questo caso mi si dovrebbero coloraree non di default quando apro la form....

    help me pleaseee...

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    22
    aiuto nessuno sa rispondermi?????? vi prego datemi una manina!!!

  3. #3

    Re: aiuto colore StringGrid in borland c++ builder 6

    Originariamente inviato da loris91
    allora vorrei che selezionando con un singolo clic (al momento dell'secuzione) una cella singola della stringgrid l'intera riga di cui fa parte venisse colorata di un colore a mia scelta.....
    Dai un'occhiata al codice seguente. Adattalo in base alle tue esigenze e soprattutto testalo bene, è solo un esempio:

    codice:
    int SelectedRow = -1;
    
    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
          int ARow, TRect &Rect, TGridDrawState State)
    {
        if ((ACol >= StringGrid1->FixedCols) && (ARow >= StringGrid1->FixedRows))
        {
            if (ARow == SelectedRow)
                StringGrid1->Canvas->Brush->Color = clYellow;
            else
                StringGrid1->Canvas->Brush->Color = clWhite;
            StringGrid1->Canvas->FillRect(Rect);
    
            StringGrid1->Canvas->Font->Color = clBlack;
            String CellString = StringGrid1->Cells[ACol][ARow];
            DrawText(StringGrid1->Canvas->Handle, CellString.c_str(), CellString.Length(), &Rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
        }
    }
    
    void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,
          int ARow, bool &CanSelect)
    {
        SelectedRow = ARow;
        StringGrid1->Refresh();
    }
    HTH,

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    22
    ti ringrazio moltissimo grazie dell'aiuto il codice adattato funziona alla perfezioneeee....!!!

    ancora mille grazie ESSE-EFFE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.