Editar una celda en un DBGrid

Iniciado por ANTRAX, Febrero 24, 2010, 04:53:09 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Febrero 24, 2010, 04:53:09 PM Ultima modificación: Abril 21, 2013, 12:58:20 PM por Expermicid
   jorosmtz:

Navegando por la web me encontré este truco.

Tengo un sistema el cual maneja un DBGrid. En este DBGrid tengo un popupmenu en el cual pongo en Edit la celda del DBGrid en la que estoy posicionado, pero el problema es que se selecciona todo el texto de la celda, entonces tecleo cualquier cosa y obviamente se borra el texto. Bueno, pues esta es la solución, hasta con un plus, seleccionar solo una parte del texto de la celda.

Aqui el código de mi programa con la implementación del truco que encontré en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Código: delphi

procedure TfrmPpal.ppmnEditarPCClick(Sender: TObject);
var
  H: THandle;
begin
  ADOTablaComp.Edit;
  DBGridComp.EditorMode := True;
  H := Windows.GetFocus;
  SendMessage(h, EM_SETSEL, 7, 11);
  TablaEnOperacion := True;
end;



Con esto ya no se selecciona todo el texto cuando pongo en modo Edit la tabla, sino solo del caracter 7 al caracter 11. Claro pueden omitir la variable H y todo lo relacionado con esta variable y solo usar el EditorMode del DBGrid, con esto tendran el cursos en el último caracter de la celda.