A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.

Apresentações semelhantes


Apresentação em tema: "Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação."— Transcrição da apresentação:

1 Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

2 Componentes TStringGrid

3 TStringGrid A aba Additional do C++ Builder oferece o componente de tabela de strings (classe TStringGrid). Componente permite ao usuário adicionar uma tabela ao seu projeto, podendo preencher as células com dados no formato de objetos da classe AnsiString.

4 Propriedades mais importantes RowCount e ColCount – estas propriedades permitem mudar/ler o número de linhas ou colunas que compõem o grid, respectivamente. Cells[col][lin] – representa a string armazenada na célula referenciada pela linha lin e pela coluna col. A primeira linha do grid possui índice 0, bem como a primeira coluna.

5 Propriedades mais importantes Selection – esta propriedade indica a porção do grid que está selecionada, através de um objeto da classe TGridRect. Os atributos Left, Top, Right e Bottom representam, respectivamente, a coluna e a linha da primeira célula da seleção e a coluna e a linha da última célula da seleção. Pode-se impedir que o usuário selecione várias células, mudando-se o valor da subpropriedade goRangeSelect, da propriedade Options para false. FixedRows e FixedCols – permitem fixar um determinado número de linhas ou colunas do grid, respectivamente. As células fixas são pintadas em cor diferente e normalmente são utilizadas para a exibição de informações de cabeçalho da tabela.

6 Propriedades mais importantes ScrollBars – Define se as barras de rolagem devem aparecer em ambos os lados (ssBoth), somente na horizontal (ssHorizontal), somente na vertical (ssVertical), ou não devem aparecer (ssNone) GridLineWidth – Define o tamanho de cada linha da grid FixedRows / FixedCols – Ativa (valor em 1) ou desativa (valor em 0) as linhas e colunas fixas (primeira a aparecer) da grid FixedColor – Define a cor das colunas fixas

7 Exemplo de código void __fastcall TForm1::FormCreate(TObject *Sender){ StringGrid1->RowCount = 6; StringGrid1->ColCount = 4; StringGrid1->FixedRows = 1; StringGrid1->FixedCols = 0; StringGrid1->Cells[0][0] = "Coluna 1"; StringGrid1->Cells[1][0] = "Coluna 2"; StringGrid1->Cells[2][0] = "Coluna 3"; //insere a opção goRangeSelect na lista de opções // para permitir a selecao de mais de uma celula StringGrid1->Options = StringGrid1->Options << goRangeSelect; TGridRect coords; coords.Left = 1; coords.Top = 1; coords.Right = 2; coords.Bottom = 3; StringGrid1->Selection = coords; } Usados para efetuar a seleção de celulas. Coordenadas correspondem a retangulo delimitado por coordenada superior x coordenada inferior

8 Exemplo de form criado com código anterior

9 Eventos mais importantes OnGetEditMask ocorre quando entramos no modo de edição. Neste momento podemos verificar em qual linha/coluna se encontra o cursor e então, se quiser, poderá especificar uma máscara de edição. Exemplo: void __fastcall TForm1::StringGrid1GetEditMask(TObject *Sender, int ACol, int ARow, UnicodeString &Value) { if (ARow == 1 && ACol == 1) Value = "(999) ;1;_"; // Telefone if (ARow == 1 && ACol == 2) Value = "99/ 99/9999"; // Data }

10 Eventos mais importantes OnSetEditText ocorre quando saímos do modo de edição. Neste momento podemos manipular a entrada e trocar por um texto equivalente. void __fastcall TForm1::StringGrid1SetEditText(TObject *Sender, int ACol, int ARow, const UnicodeString Value){ if (ARow == 1 && ACol == 2) Label1->Caption = "Valor Digitado: " + Value; }

11 Eventos mais importantes OnSelectCell ocorre quando selecionamos uma célula void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect){ if (ARow == 1 && ACol == 2) Label1->Caption = "Selecionada a celula [1][2]"; }


Carregar ppt "Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação."

Apresentações semelhantes


Anúncios Google