Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Que aparezca un Tpanel donde está el ratón (https://www.clubdelphi.com/foros/showthread.php?t=65189)

ElDioni 26-11-2009 09:47:29

Que aparezca un Tpanel donde está el ratón
 
Hola, estoy intentando hacer aparecer un panel, que tiene una imagen, al pulsar con el botón derecho encima de un grid, según el registro del grid se carga una imagen u otra. Lo que pasa es que yo hago lo siguiente:

Código Delphi [-]
procedure TFrmListFabricacion.SMDBGrid2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if button=MbRight then
  begin
    imgclipart.Picture.LoadFromFile(dibujo);
    panel1.left:=x;
    panel1.Top:=y;    
    panel1.Visible:=true;
  end;
end;
Yo quiero que salga justo a la derecha y por debajo de la posición del ratón y de esta forma que estoy haciendo el ratón se queda dentro del TPanel y se tapa la posición donde estaba al mouse. ¿Como puedo conseguirlo?.
Gracias de antemano.
Un saludo.

ElDioni 26-11-2009 10:22:41

Gracias pero ya he encontrado la solución, aunque ya había buscado antes no encontraba lo que buscaba, pero he repasado unos hilos donde se hablaba del screentoclient y con esto he podido solucionar mi problema, he hecho lo siguiente:

Código Delphi [-]
punto:=ScreenToClient(mouse.CursorPos);
panel1.left:=Punto.x;
panel1.Top:=Punto.y;
imgclipart.Picture.LoadFromFile(dibujo);
panel1.Visible:=true;

donde punto es una variable de tipo TPoint.
Un saludo a todos.


La franja horaria es GMT +2. Ahora son las 16:04:19.

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