Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-02-2022
ZyZzY69 ZyZzY69 is offline
Registrado
 
Registrado: ene 2022
Posts: 6
Poder: 0
ZyZzY69 Va por buen camino
Tecla TAB no funciona en RichEdit

Hola!

Estoy intentando que un TAdvRichEditor me reconozca la tecla tab para insertar tabulaciones. Y no es que no haga las tabulaciones, es que parece que no me reconoce ni la pulsación, en cambio otras teclas como la de retorno de carro sí la reconoce.
Como veis puse WantTab True, ya que si no al pulsar la tecla TAB se me movía por todas las pestañas del formulario.

Código Delphi [-]
Procedure TConexion.CrearTab(Params: TParametrosTab);
var
  Key: TScKey;

begin
  FLog := Params.Log;
  FDockSite := Params.DockSite;
  FTab := TLMDDockPanel.Create(FDockSite);
  FTab.ClientKind := dkDocument;
  FTab.Caption := 'TEST';
  DockAsTabbedDoc(FTab);
  RichEdit1 := TAdvRichEditor.Create(FTab);
  RichEdit1.Parent := FTab;
  RichEdit1.Align := alClient;
  RichEdit1.font.Color := clWindow;
  RichEdit1.font.Size := 12;
  RichEdit1.font.Name := 'Courier New';
  RichEdit1.Color := clBlack;
  RichEdit1.OnKeyPress := RichEdit1KeyPress;
  RichEdit1.OnKeyUP := RichEdit1KeyUp;
  RichEdit1.OnMouseDown := RichEdit1MouseDown;
  RichEdit1.OnMouseUp := RichEdit1MouseUp;
  RichEdit1.OnContextPopup := RichEdit1ContextPopup;
  RichEdit1.WantTab := True;
He probado los siguientes códigos y de ninguna forma me muestra los mensajes.

Código Delphi [-]
procedure TConexion.RichEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  msg: TMsg;
begin
  if Key = VK_TAB then
  begin
    ShowMessage('HOLAAA');
    beep(0, 100);
    while PeekMessage(msg, RichEdit1.handle, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) do;
  end;
 end;
En este código siguiente me funcionan todas las teclas excepto la #9,, que se supone que es la tecla TAB
Código Delphi [-]
procedure TConexion.RichEdit1KeyPress(Sender: TObject; var Key: Char);
var
  AKey: Char;
  Comando: string;
begin
  AKey := Key;
  Key := #0;

  if AKey = #9 then
  begin
    ShowMessage('weeeeee');
    beep(10, 10);
    Key := #0;
  end;

  if AKey = #8 then
  begin
    // Memo2.ScrollBars := ssVertical;
    if Length(Command) > 0 then
    begin
      Delete(Command, Length(Command), 1);
      Delete(ConsoleData, Length(ConsoleData), 1);

      ParseTextIntoMEMO(ConsoleData, RichEdit1);
    end
    else
      Key := #0;
  end
  else if AKey = #13 then
  begin
    //ShowMessage('Pulsaste retorno');
    Key := #0;
    if Command = 'clear' then
    begin
      RichEdit1.Clear;
      ConsoleData := '';
    end;
    Command := Command + AKey;
    ScSSHShell1.WriteString(Command);
    ParseTextIntoMEMO(ConsoleData, RichEdit1);

  end
  else
  begin
    Key := #0;
    Command := Command + AKey;
    ConsoleData := ConsoleData + AKey;
    ParseTextIntoMEMO(ConsoleData, RichEdit1);
  end;
end;
Disculpad si el código no está muy pulido, aún estoy en prácticas y es la primera vez que utilizo delphi y pascal .

Si necesitáis algún dato más me lo decís y os lo comparto.

Última edición por Casimiro Notevi fecha: 11-02-2022 a las 11:50:27. Razón: Cambiar etiquetas code por delphi
Responder Con Cita
  #2  
Antiguo 11-02-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por favor, si pones código delphi, usa el icono/tag apropiado, ya que el genérico "code" no muestra correctamente el código delphi.


Responder Con Cita
  #3  
Antiguo 11-02-2022
ZyZzY69 ZyZzY69 is offline
Registrado
 
Registrado: ene 2022
Posts: 6
Poder: 0
ZyZzY69 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Por favor, si pones código delphi, usa el icono/tag apropiado, ya que el genérico "code" no muestra correctamente el código delphi.
Muchas gracias, había leído en el momento de registrarme lo de encapsularlo en códido delphi pero no me acordaba donde estaba, y como el icono parece una papelera me puse encima de todos para ver de que eran excepto en ese jajajaja.

Saludos!
Responder Con Cita
  #4  
Antiguo 11-02-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ZyZzY69 Ver Mensaje
... y como el icono parece una papelera...

Es el icono "primigenio" de delphi.
Responder Con Cita
  #5  
Antiguo 14-02-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Actualizado a uno de versiones más nuevas...


__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 14-02-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¡¡¡Oooh...!!! qué raro se me hace

El original anterior tenía su sentido y explicación, pero este casco no sé qué quiere decir ¿que para programar en delphi hay que usar casco para protegerse?

Ah, también has editado esa pantallita, estupendo... y gracias por el trabajo y tiempo
Responder Con Cita
  #7  
Antiguo 15-02-2022
ZyZzY69 ZyZzY69 is offline
Registrado
 
Registrado: ene 2022
Posts: 6
Poder: 0
ZyZzY69 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Actualizado a uno de versiones más nuevas...
Muchas Gracias! Ahora ya no tengo excusas jajaja.

Cita:
Empezado por Casimiro Notevi Ver Mensaje
... pero este casco no sé qué quiere decir ¿que para programar en delphi hay que usar casco para protegerse?...
Y tanto que hace falta casco....sobre todo cuando no consigues hacer algo jajajaja
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pasar datos de un RichEdit a otro RichEdit santiago14 Varios 3 05-12-2014 17:39:25
saber que tecla se presiona despues de X tecla amadis OOP 9 04-01-2008 13:16:35
Cambiar la tecla TAB por la tecla ENTER al pasar de controles dec Trucos 0 30-06-2006 13:43:03
Parte de un RichEdit a otro RichEdit (donde esté el cursor) Tomy Varios 3 21-12-2005 21:08:15
No me funciona la tecla suprimir Durbed Varios 0 18-08-2005 12:54:08


La franja horaria es GMT +2. Ahora son las 20:33:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi