PDA

Ver la Versión Completa : Componente


pascalutn2003
08-11-2006, 02:37:23
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
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: