QuantumGrid - ajustar estilos e cores de um cxGrid |
Top Previous Next |
|
// estrutura na tela: Grid Nivel - Dados
// onde Grid : TcxGrid Nivel: TcxGridLevel Dados: TcxGridDBTableView
uses cxGridDBTableView, cxGridTableView, cxGrid, cxGridCustomView, cxGridStyleSheetsPreview, cxStyleSheetEditor, Cxstyles;
---------------------------------------- // QuantumGrid - ajustar estilos e cores de um cxGrid // para mudar a aparenciar de cores/fontes e permitir ao usuário modificar tb. // coloque um component no form chamado Repositorio: TcxStyleRepository;
// carregar todos os estilos do repositorio num listbox: var I: Integer; begin ListBox.Clear; // percorre os estilos do repositorio e coloca na listbox for I := 0 to Repositorio.StyleSheetCount - 1 do ListBox.Items.AddObject(Repositorio.StyleSheets[I].Caption, Repositorio.StyleSheets[I]); ListBox.ItemIndex := -1; end;
// aplicar o estilo selecionado numa listbox na grid Dados.BeginUpdate; Dados.Styles.StyleSheet := TcxGridTableViewStyleSheet(ListBox.Items.Objects[ListBox.ItemIndex]); Dados.EndUpdate;
// salvar os estilos em arquivo ini do repositorio direto. // quando o usuario alterar um deles é necessário gravar var I : Integer; AList: TList; begin AList := TList.Create; try // percorre todos os estilos do repositorio e grava num ini for I:= 0 to Repositorio.StyleSheetCount - 1 do AList.Add(Repositorio.StyleSheets[I]); SaveStyleSheetsToIniFile(ArquivoTodosEstilos, AList); finally AList.Free; end; end;
// carregar itens personalizados pelo usuario de um arquivo ini Repositorio.Clear; Repositorio.ClearStyleSheets; // carrega do ini os estilos previamente salvos para o repositorio LoadStyleSheetsFromIniFile(ArquivoTodosEstilos, Repositorio, TcxGridTableViewStyleSheet);
// abrir o editor padrão do TcxGrid para modificar um estilo cor/fonte (o selecionado na listbox) ShowcxStyleSheetEditor(TcxGridTableViewStyleSheet(ListBox.Items.Objects[ListBox.ItemIndex]), nil);
// limpar o estilo que está atualmente selecionado para um grid Dados.BeginUpdate; Dados.Styles.StyleSheet := nil; Dados.EndUpdate;
|