Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Asignar un tipo hint a uncomponente... (https://www.clubdelphi.com/foros/showthread.php?t=24461)

razadi 22-08-2005 18:02:57

Asignar un tipo hint a uncomponente...
 
Que tal, ahora se me ha complicado un poco el asignar un estilo de hint a un componente, miren, tengo un componente hint que pode de una manera muy agradable el estilo de los hints en los controles nativos de delphi, pero sobre un componente de otro creador no lo asigna y me sigue mostrando el estilo tradicional del hint solo en este componente.

Espero haber sido claro, un saludo y muchas gracias.

lucasarts_18 22-08-2005 18:08:28

Hola:

Seguramente no está implementados para controles de terceros...

Y a todo esto cuál es el nombre de aquel componente...

Saludos..

razadi 22-08-2005 18:27:47

Que tal lucasarts_18
 
Cita:

Empezado por lucasarts_18
Hola:

Seguramente no está implementados para controles de terceros...

Y a todo esto cuál es el nombre de aquel componente...

Saludos..

Efectivamente, eso creo, aunque lo curioso es que al poner otros componentes de terceron en unos si se aplica el hint y en otros no, ahora lo interesante y realmente lo necesito es, como le agrego esa función al componente que no permite ese efecto?

y el componente se llama mbTBXHint pertenece a los componentes de la libreria TBX.

saludos

dec 23-08-2005 00:48:27

Hola,

Se me ocurre que revises, si dispones del mismo, el código fuente del componente, por ver qué puede estar haciendo que en unos controles se muestre su "hint" como esperas y en otro no.

En todo caso se me ocurre también otra cosa, que no sé hasta qué punto podría funcionar. Si el componente encargado de mostrar los "hints" tal como te placen cuenta con algún método para mostrarlos, no solamente cuando el ratón pasa por encima del componente, pero a demanda, cuando tú lo quieras...

Si es así tal vez podrías aprovechar el evento "OnHint" de la clase "Application", de tal manera que mostraras, mediante el supuesto método de que hablo, el "hint" que en ese momento estuviera disponible para mostrarse. ¿Qué tal? ¿Me expliqué? ;)

defcon1_es 23-08-2005 09:44:09

Cita:

Empezado por dec
Si es así tal vez podrías aprovechar el evento "OnHint" de la clase "Application",
de tal manera que mostraras, mediante el supuesto método de que hablo,
el "hint" que en ese momento estuviera disponible para mostrarse.
¿Qué tal? ¿Me expliqué? ;)

Eso es lo que to hago en las aplicaciones que desarrollo.
Tengo una clase TMiHintWindow que asigno a la variable
HintWindowClass

Por ejemplo, en el código fuente de tu proyecto, puedes poner:
Código Delphi [-]
begin
  Application.Initialize;
  ...
  HintWindowClass := TMiHintWindow;
  Application.Run;
end;

razadi 23-08-2005 17:20:31

Gracias, pero...
 
Cita:

Empezado por defcon1_es
Eso es lo que to hago en las aplicaciones que desarrollo.
Tengo una clase TMiHintWindow que asigno a la variable
HintWindowClass

Gracias, Dec justamente lo estoy checando, aunque hasta ahorita no lo he encontrado, por otro lado se me hace interesentante lo que comentantes Defcon1_es, ahora sólo te pido si me podrías explicar un poco más esa clase, porque imagine que podría asignar el componente en lugar de una clase, como ves?

Lepe 24-08-2005 16:14:10

Aclaremos conceptos:

Delphi tiene una clase THintwindow, si nadie dice lo contrario, es la que se usa para mostrar los hints.

Si quieres hacer tu propia ventana de hint, simplemente tienes que declararla como propone defcon1_es, es más la clase viene definida en la unidad controls de esta forma:
Código Delphi [-]
  THintWindow = class(TCustomControl)

Como ves deriva de TcustomControl y puedes poner un simple Form para reemplazar el hint tradicional, o incluso una ventana de forma irregular (como supongo que hace los componentes TBX)

Si usas el componente de TBX, él se encarga de hacer la asignación de la clase THintWindow, no tiene sentido que lo hagas tu a mano.
Cita:

Empezado por razadi
y realmente lo necesito es, como le agrego esa función al componente que no permite ese efecto?

Puedes intentar usar un ApplicationsEvents, y en el evento OnHint, ver si detecta ese componente, algo así como:
Código Delphi [-]
procedure TForm1.ApplicationEvents1Hint(Sender: TObject);
begin
  if Sender is TComponenteQueNoAceptaElHint then
    Mostrar_hint_por_codigo
end;

Pero necesitamos más información:
- ¿Que componente no acepta el Hint?
- ¿El TBX puede mostrar el hint por código? (debería tener una rutina)
- ¿dipones del código fuente de ese control que no acepta el Hint?

Un saludo

razadi 29-08-2005 16:45:34

Un saludo a los que me estan apoyando...

Efectivamente, trate de hacer lo que mencionan pero sigue sin aceptarlo, respecto a sus preguntas:

Cita:

Empezado por Lepe
- ¿Que componente no acepta el Hint?

El componente que no lo acepta es el BarManager de la libreria DevExpress, no sé si porque esta última tiene su propio componente Thint.

Cita:

Empezado por Lepe
- ¿El TBX puede mostrar el hint por código? (debería tener una rutina)

Realmente no he revisado esa rutina y de inmediato lo voy a hacer y se los notifico

Cita:

Empezado por Lepe
- ¿dipones del código fuente de ese control que no acepta el Hint?

Si, si tengo el codigo fuente de ambas librerías.

Voy a revisar esa posibles rutinas y con gusto se los notifico para ver si podemos hacer algo al respecto.

Un saludo y gracias.


La franja horaria es GMT +2. Ahora son las 17:01:37.

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