Modificando as propriedades de uma nova coluna do tipo EditButton
Ao adicionar uma coluna nova no grid e a esta for do tipo EditButton, então poderá alterar as propriedades desta coluna para que possa melhorar o visual, ou ainda acrescentar mais recursos, abaixo segue as propriedades disponíveis e também um exemplo de como fazer isso no VsScripter.
Action: - esta propriedade irá apontar à nova coluna e ao botão um Action. Tipo do valor será um TBasicAction.
Caption: será a propriedade do texto que irá aparecer no conteúdo do campo ou botão. O Tipo de valor será uma String.
Alignment: é a propriedade de alinhamento do conteúdo do EditButton. O tipo de valor será TAlignment e terão as seguintes possibilidades de preenchimento:
taLeftJustify - alinhamento à esquerda;
taRightJustify - alinhamento à direita;
taCenter - alinhamento ao centro ou centralizado.
Enabled: esta propriedade irá habilitar ou desabilitar um EditButton. O tipo de valor será um Boolean.
Glyph: responsável por preencher uma imagem em um EditButton. O tipo de valor será TBitMap.
Hint: servirá para mostrar uma dica ao usuário quando passar com o cursor do mouse por cima do conteúdo. O tipo de valor será uma String,
Kind: é a propriedade que irá definir como será o comportamento do EditButton. O tipo de valor é TcxEditButtonKind. E as possibilidades de preenchimento são as seguintes:
bkText - será um EditButton com um Caption preenchido.
bkGlyph - será um EditButton com uma imagem em seu conteúdo.
bkDown - será um EditButton com uma seta mostrando que há opções abaixo.
bkEllipsis - será um EditButton com uma ação e o símbolo é reticências.
LeftAlignment: será a propriedade para forçar o alinhamento à esquerda. O tipo de dado será um Boolean.
Stretchable: será a propriedade para forçar o preenchimento automático em todo o espaço do conteúdo do EditButton. O tipo de dado será um Boolean.
Visible: é a propriedade para mostrar ou não o EditButton. O tipo de dado será um Boolean.
Width: irá apontar o tamanho do EditButton. O tipo de dado é um Integer.
IdBotao (Obrigatório): é o valor do ID do EditButton, com esse parâmetro será possível utilizar das demais propriedades. É um tipo de dado Integer.
Mostrar: será para apontar que o EditButton é um default entre os outros EditButtons. O tipo de dado é um Boolean.
ViewStyle: é a propriedade para o usuário definir o estilo de visibilidade do EditButton. É um tipo de dado TcxTextEditViewStyle e há as seguintes possibilidades de preenchimento:
vsNormal - quando o EditButton receber o foco, então aparecerá o conteúdo.
vsHideCursor - quando o cursor passar por cima, então aparecerá o conteúdo.
vsButtonsOnly - aparecerá o conteúdo apenas quando for do tipo Text no Kind.
vsButtonsAutoWidth - aparecerá o conteúdo apenas quando for do tipo Text no Kind e será definido o seu tamanho automaticamente.
ShowEditButtons: propriedade para determinar a visibilidade do EditButton. Será do tipo TcxGridItemShowEditButtons. E terá as seguintes possibilidades para o preenchimento:
isebNever - nunca aparecerá o EditButton.
isebDefault - apenas quando um EditButton receber o foco por completo.
isebAlways - sempre aparecerá o EditButton independente de quantas linhas existir.
Uses
CxGridCol, Dialogs, Classes, Messages, Controls, Graphics;
var
Coluna : TcxGridColuna;
procedure MeuEventoClicouBotao(AButtonIndex : String; var Retorno : String);
begin
if MessageDlg('Deseja Retornar data e hora?', mtWarning, SetOf([mbYes, mbNo]),
0) = mrYes then
Retorno := FormatDateTime('hh:nn:ss:zzzz', Now);
end;
begin
Coluna := TcxGridColuna.Create(ViewPedido, 'TESTE', 'EditButton',
10, 'IDPEDIDOITEM');
Coluna.EventoClicouBotao := 'MeuEventoClicouBotao';
//Propriedades para customização do EditButton
Coluna.IdBotao := 0; //Sempre deverá ser definido por primeiro.
Coluna.Kind := bkText;
Coluna.LeftAlignment := true;
Coluna.ViewStyle := vsButtonsOnly;
Coluna.ShowEditButtons := isebAlways;
Coluna.Caption := 'TESTANDO 123';
end;
//Para o caso de uma imagem no EditButton
//** Não esquecer de definir no uses o Graphics. **
Coluna.IdBotao := 0; //Sempre deverá ser definido por primeiro.
Coluna.Kind := kGlyph;
Coluna.Glyph.LoadFromFile(String do Arquivo) //Aqui poderá ser um Stream