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 29-09-2008
robertosc robertosc is offline
Miembro
 
Registrado: abr 2006
Posts: 36
Poder: 0
robertosc Va por buen camino
Question agregar un link ligado a un procedimiento a un RichText

hola a todos!

mi duda es como puedo agregar ya sea un link o una imagen dentro de un richtext y al momento de dar click ya sea en el link o en la imagen llamar un procedimiento en delphi, como un tipo boton...

ya se como agregar el link o la imagen al richtext, pero no más...

el richtext va tener la propiedad de readonly=true, digamos que nomas lo uso como consulta o lectura, pero necesito usarlo por que el texto tiene formato...

gracias de antemano!
Responder Con Cita
  #2  
Antiguo 30-09-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
podrias ser mas explicito?
Responder Con Cita
  #3  
Antiguo 30-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Hola

http://delphi.about.com/od/vclwritee.../aa051804a.htm

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 30-09-2008
robertosc robertosc is offline
Miembro
 
Registrado: abr 2006
Posts: 36
Poder: 0
robertosc Va por buen camino
hola lKinGl gracias por responder, mira tengo un richtext asi:



y quiero programar que cuando le den clic a la imagen sea como un tipo boton donde yo pueda programar por medio de codigo delphi una acción. llamar un procedimiento donde yo pueda abrir otra forma por ejemplo.
Responder Con Cita
  #5  
Antiguo 01-10-2008
robertosc robertosc is offline
Miembro
 
Registrado: abr 2006
Posts: 36
Poder: 0
robertosc Va por buen camino
o algun otro componente que pueda utilizar para lograr mi proposito
Responder Con Cita
  #6  
Antiguo 01-10-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
//...

uses ActiveX, ComObj, RichEdit;

//...

type
 IRichEditOle = interface(IUnknown)
  ['{00020d00-0000-0000-c000-000000000046}']
  function GetClientSite(out clientSite: IOleClientSite): HRESULT; stdcall;
  function GetObjectCount: HRESULT; stdcall;
  function GetLinkCount: HRESULT; stdcall;
  function GetObject(iob: Integer; out ReObject; dwFlags: Cardinal): HRESULT; stdcall;
 end; // changed !!!

procedure TForm1.JvRichEdit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

var
 RichEdit: TCustomMemo;
 Point: TPoint;
 Value, Index: Integer;
 RichEditOle: IRichEditOle;
 ReObject: record
  cbStruct, cp: Cardinal;
  clsid: TCLSID;
  poleobj: IOleObject;
  pstg: IStorage;
  polesite: IOleClientSite;
  sizel: TSize;
  dvAspect: Integer;
  dwFlags, dwUser: Cardinal;
 end;

begin
 if (Button = mbLeft) and (Sender is TCustomMemo) then
  begin
   RichEdit := Sender as TCustomMemo;
   if RichEdit.SelLength = 1 then
    begin
     Windows.GetCaretPos(Point);
     Value := RichEdit.Perform(EM_CHARFROMPOS, 0, Integer(@Point)) - 1;
     if Value >= 0 then
      begin
       SendMessage(RichEdit.Handle, EM_GETOLEINTERFACE, 0, Integer(@RichEditOle));
       ReObject.cbStruct := SizeOf(ReObject);
       for Index := 0 to RichEditOle.GetObjectCount - 1 do
        begin
         RichEditOle.GetObject(Index, ReObject, 0{REO_GETOBJ_NO_INTERFACES});
         if Integer(ReObject.cp) = Value then // 0j0: funciona con cualquier objeto!
          begin
           ShowMessage('Object ID: ' + IntToStr(Index)); // aquí haces lo que debes hacer...
           RichEdit.SelLength := 0;
           Break;
          end;
        end;
      end;
    end;
  end;
end;

Nota; considerar que en las pruebas se utilizó un componente JEDI, sin embargo debiese funcionar con cualquier componente que utilice interfaces OLE estándares .

Saludos
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #7  
Antiguo 02-10-2008
robertosc robertosc is offline
Miembro
 
Registrado: abr 2006
Posts: 36
Poder: 0
robertosc Va por buen camino
hola [cHackAll], muchas gracias

ya prove tu código y funciono perfecto, justo lo que necesitaba!!!!
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
Ligado / Interconexión de dos BD/Sesiones _Willa Firebird e Interbase 11 28-06-2007 14:47:02
Imprimir RichText con QReports Fita Impresión 0 05-05-2007 18:21:22
Reemplazar en un RichText User_Baja_2 Varios 1 12-06-2005 12:56:07
Formatear cadena numérica a la derecha dentro de un richtext cesargcman Varios 1 09-05-2004 18:45:53
modificar dbgrid ligado a query squenda Conexión con bases de datos 7 25-04-2004 06:54:03


La franja horaria es GMT +2. Ahora son las 00:27:28.


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