Ver Mensaje Individual
  #10  
Antiguo 14-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Reputación: 20
keyboy Va por buen camino
Por cierto, veo que usas el evento KeyPress para convertir a mayúsculas el texto que se escribe. Pero ya entrados en gastos, puedes añadir un método más a la nueva clase:

Código Delphi [-]
  TStringGrid = class(Grids.TStringGrid)
  protected
    function GetEditLimit: Integer; override;
    function CreateEditor: TInplaceEdit; override;
  end;

CreateEditor es el encargado de crear el objeto TEdit que se usa para editar el contenido de una celda. Puedes aprovechar el momento en que se crea para establecer su propiedad CharCase:

Código Delphi [-]
type
  TExInplaceEdit = class(Grids.TInplaceEdit);

function TStringGrid.CreateEditor: TInplaceEdit;
begin
  // Creamos el objeto original
  Result := inherited CreateEditor;

  // Ponemos el objeto creado en mayúsculas
  TExInplaceEdit(Result).CharCase := ecUpperCase;
end;

Lo del TExInplaceEdit es un truco para poder acceder a la propiedad CharCase del TInplaceEdit, ya que está protegida y no puede usarse directamente.

Con esto te ahorras ya todo el evento KeyPress.

Bye

Última edición por keyboy fecha: 14-02-2008 a las 02:50:53.
Responder Con Cita