Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Componente (https://www.clubdelphi.com/foros/showthread.php?t=37264)

pascalutn2003 08-11-2006 02:37:23

Componente
 
Hola a todos:

Resulta que estoy creando un componente similar a un combo, es un editor con un boton adentro.:D
Es un TGraphicControl y ya esta dibujado :) , el problema es que me gustaria saber si alguien sabe como hacer para que el click del mouse responda solo en determinada area del componente, mas precisamente sobre el area del boton, ya que presiono donde presiono el boton se "hunde".

Probe con GetCursorPos, realizando calculos con la posicion del cursor, defini una region y probe con la funcion ptInRegion (que se supone deberia funcionar puesto que Marco Cantu la utiliza y segun el funciona) y no hay caso.

Gracias de antemano

roman 08-11-2006 05:38:52

¿Por qué usas GetCursorPos? Si estás trabajando con el clic del ratón, lo lógico es que redefinas el método MouseDown (o MoseUp) y éste ya te pasa las coordenadas. Por otra parte imagino que te bastará con PtInRect en lugar de PtInRegion. Al no tener que definir una región, sino sólo un rectángulo, es más difícil que haya algún error.

// Saludos

pascalutn2003 09-11-2006 00:07:59

Andaaaaaaaaaaaaaaaaa....
 
jejejejeje :D

Mil gracias master, me salvaste la vida. :)

Lo hice asi :

En el create

Boton:=Rect(Width-Height,2,Width-1,Height-1);

Y en el MouseDown

If (Assigned(KeyDown)) Then Begin

Punto.X:=Msg.XPos;
Punto.Y:=Msg.YPos;

If PtInRect(Boton,Punto) Then Begin

...

End;

End;
Espero les sirva para algo :rolleyes:


La franja horaria es GMT +2. Ahora son las 05:44:23.

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