Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-04-2004
Avatar de fjolivares
fjolivares fjolivares is offline
Miembro
 
Registrado: dic 2003
Ubicación: Madrid
Posts: 59
Poder: 21
fjolivares Va por buen camino
Mostrar hint al entrar en DBEDIT

Hola a todos. Estoy intentando mostrar una ayuda cuando el usuario entra en algunos DBEDIT. Una idea sería mostrar el hint cuando el usuario entre en el DBEDIT, aunke sea con el tabulador. el hint solo se muestra al pasar por encima el raton.

¿Existe alguna manera de mostrar el hint mediante codigo?

Saludos y gracias.
Responder Con Cita
  #2  
Antiguo 05-04-2004
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Truco 135 del TManía

Cita:
Empezado por fjolivares

¿Existe alguna manera de mostrar el hint mediante codigo?

Saludos y gracias.
esto lo tomé textualmente del truco 135 del trucomanía, espero te sirva
Utiliza esta función para mostrar el hint de un componente. Recuerda guardar el handle que te devuelve en una
variable para despues destruir el Hint.:


Código Delphi [-]
 function RevealHint (Control: TControl): THintWindow;
 var 
   ShortHint: string;
   AShortHint: array[0..255] of Char;
   HintPos: TPoint;
   HintBox: TRect;
 begin 
   { Create the window: }
   Result := THintWindow.Create(Control);
 
   { Get first half of hint up to '|': }
   ShortHint := GetShortHint(Control.Hint);
 
   { Calculate Hint Window position & size: }
   HintPos := Control.ClientOrigin;
   Inc(HintPos.Y, Control.Height + 6);
   HintBox := Bounds(0, 0, Screen.Width, 0);
   DrawText(Result.Canvas.Handle,
       StrPCopy(AShortHint, ShortHint), -1, HintBox,
       DT_CALCRECT or DT_LEFT or DT_WORDBREAK or DT_NOPREFIX);
   OffsetRect(HintBox, HintPos.X, HintPos.Y);
   Inc(HintBox.Right, 6);
   Inc(HintBox.Bottom, 2);
 
   { Now show the window: }
   Result.ActivateHint(HintBox, ShortHint);
 end; {RevealHint}
 
 
 
//Ejemplo de llamada:
 
 
 
var 
   mango:THintWindow;
begin 
   mango:=RevealHint(Button1);
 
 
 

//Para hacer desaparecer el hint:
 
 
 
 procedure RemoveHint (var Hint: THintWindow);
 begin 
   Hint.ReleaseHandle;
   Hint.Free;
   Hint := nil;
 end; {RemoveHint}
 
 
 
//Ejemplo de llamada:
 
 
 
 RemoveHint(mango)


Donde 'mango' es el handle que hemos guardado al llamar a RevealHint
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo


Última edición por vtdeleon fecha: 07-10-2005 a las 02:21:21. Razón: Etiqueta Delphi
Responder Con Cita
  #3  
Antiguo 05-04-2004
Avatar de fjolivares
fjolivares fjolivares is offline
Miembro
 
Registrado: dic 2003
Ubicación: Madrid
Posts: 59
Poder: 21
fjolivares Va por buen camino
pero si mueves la ventana ...

gracias yusnerqui, consigo q aparezca una ventanita de hint. el tema es q si muevo el form mientras se muestra el hint, este se keda detras del form.

¿no hay manera de provocar q aparezca el propio hint del control?

Saludos y gracias.
Responder Con Cita
  #4  
Antiguo 05-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Podrías poner un StatusBar en el formulario y escribir el hint en él cuando se entre a un control. Por ejemplo, en el evento OnEnter:

StatusBar.SimpleText := DBEdit.Hint;

// Saludos
Responder Con Cita
  #5  
Antiguo 06-04-2004
Avatar de fjolivares
fjolivares fjolivares is offline
Miembro
 
Registrado: dic 2003
Ubicación: Madrid
Posts: 59
Poder: 21
fjolivares Va por buen camino
mas o menos lo q e exo

Gracias roman, ayer por la tarde hize eso. estuve probando un componente gratuito que se llama zballon q hacia lo que queria, pero me resultaba engorroso de cara al usuario. al final muestro el hint en un memo en el evento onenter.

Saludos.
Responder Con Cita
  #6  
Antiguo 06-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Comprendo. Al principio suena muy bonito eso de poner hints en ventanitas por todos lados y si son de formas especiales qué mejor. Pero pasado el entusiasmo inicial cualquier usuario se harta.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 09:00:40.


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