Underc0de

Programación General => Delphi => Mensaje iniciado por: ANTRAX en Febrero 24, 2010, 04:53:09 PM

Título: Editar una celda en un DBGrid
Publicado por: ANTRAX en Febrero 24, 2010, 04:53:09 PM
   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 www.scalabium.com


Código (delphi) [Seleccionar]

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.




Título: Re:Editar una celda en un DBGrid
Publicado por: AD0 en Mayo 17, 2011, 07:57:06 PM
use ehgrid