Ver Mensaje Individual
  #21  
Antiguo 21-09-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Reputación: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
perdón, es que soy novato, pero prometo leer esa guía de los estilos

Sólo añadí una variable booleana más y añadí lo siguiente al evento KeyDown:

Código Delphi [-]
  if Key = VK_RETURN then
  begin
    if not bEditandoCelda then
    begin
      keybd_event(VK_F2, 0, 0, 0);
      keybd_event(VK_F2, 0, KEYEVENTF_KEYUP, 0);
      //
      Key := 0;
      //
    end;
    bEditandoCelda := not bEditandoCelda;
  end;

De esta manera al pulsar "enter" la primera vez se simula F2 y pasa a editar poniendo el cursor al final del texto que exista en la celda.
La siguiente vez que se pulsa "enter" se ejecuta normalmente y "acepta" el contenido.
La siguiente vez... vuelta a empezar.


Cita:
Empezado por newtron Ver Mensaje
A ver..... sigo soltando tonterías.
De una forma o de otra creo que mi componente heredado del stringrid funciona como tú quieres, si quieres te lo envío y le echas un vistazo, aunque aviso que tiene un rato de conversación.
Saludos
Se agradece, envíamelo, habrá que echarle un vistazo, mientras tenga el código fuente y no me cobres muy caro .

Cita:
Empezado por gluglu Ver Mensaje
Hola !
P.D. Al menos en la prueba con un TStringGrid que acabo de hacer, además me funcionan las teclas del cursor 'en cierta manera' como se indica en este hilo. Hacia la derecha va bien, hasta la última columna, pero hacia la izquierda me edita cada celda antes de pasar a la celda anterior.
Gracias gluglu, esa opción fue la primera que se me ocurrió, pero no terminaba de "estabilizarse", ocurrían cosas como las que cuentas y si lo solucionaba entonces salían otros efectos colaterales , por lo que decidí dejarlo.
Responder Con Cita