Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Obtener Handle de un objeto (https://www.clubdelphi.com/foros/showthread.php?t=9367)

senpiterno 21-04-2004 20:50:22

Obtener Handle de un objeto
 
Hola amigos.

Me gustaria saber como obtengo el Handle de un objeto. Se que muchos objetos con los que trabaja Delphi tienen incorporada la propiedad Handle, de manera que se puede acceder a ella en forma directa, pero tambien existen objetos que no la traen al menos de forma explicita, por ejempo el TPaintBox.
¿ como puedo objener el Handle de un objeto cuando este no viene como una propiedad explicita del objeto, por ejemplo del tipo TObject ?. A se me olvidava un Handle es de tipo LongInt o LongWord.

De antemano se agradece cualquier ayuda.

delphi.com.ar 21-04-2004 21:01:04

En la VCL los objetos que tienen Handle del tipo HWnd (como la propiedad hWnd de VB), son aquellos heredados de TWinControl y hacen referencia al Handle que identifica la ventana. El TPaintBox es un TGraphicControl, y no posee una ventana asociada, si quieres puedes obtener el Handle del Canvas que es el handle del DeviceContext que dubuja el control.

Saludos!

senpiterno 21-04-2004 22:59:52

delphi.com.ar, podrias ser mas explicito, si pudieras mostrarme un ejemplo seria de maravillas.

Gracias.

delphi.com.ar 21-04-2004 23:03:55

¿Para que necesitas el Handle?

senpiterno 22-04-2004 02:33:55

delphi.com.ar, En Vb contrui un objeto que tomaba como referencia un picturebox y sobre el cual generaba un gradian en el que escribia un texto (tipo barra de inicio de windows 98) mayormente construido con funciones de la API de Windows. En Delphi he intentado buscar un objeto como el picturebox y el que mas se le parece es el Paintbox, pero como tu me dijiste anteriormente no se puede acceder a su Handle (hwnd en Vb), propiedad que necesito para poder referenciar al objeto en las funciones de la API. Ademas tampoco en podido encontrar la propiedad hdc (devuelve un controlador proporcionado por el entorno operativo Microsoft Windows para el contexto de dispositivo de un objeto en VB) necesaria para poder implementar el objeto gradian mencionado.
Si me puedes dar alguna idea, alternativa o ayuda para solucionar el problema te lo agradecere.

Gracias de antemano.

jachguate 22-04-2004 03:13:26

Creo que el amigo delphi.com.ar ya te habia respondido eso...
Cita:

Empezado por delphi.com.ar
si quieres puedes obtener el Handle del Canvas que es el handle del DeviceContext que dubuja el control.

En otras palabras... el handle que buscas, es el PaintBox1.Canvas.Handle.

Hasta luego.

;)

delphi.com.ar 22-04-2004 15:21:40

Cita:

Empezado por jachguate
En otras palabras... el handle que buscas, es el PaintBox1.Canvas.Handle.

Eso mismo, y otra cosa: posiblemente te "ahorres" llamadas directas a la WinApi ya que el objeto canvas encapusla las funciones básicas de dibujo de la WinApi

Saludos!


La franja horaria es GMT +2. Ahora son las 08:51:55.

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