Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Coordenas form(no encontrado en la web)

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Coordenas form(no encontrado en la web) Responder citando

hola a to2
queria saber como puedo encontrar las coordenas del mouse dentro de una form sin que al pasar por encima de un TImage se pierdan las coordenadas.

gracias
Volver arriba
Mensaje    Asunto: Responder citando

Pon la siguiente funcion

Código:
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:   // IDE-managed Components
private:   // User declarations

//Este el el rollo, como dirian por aqui
void __fastcall PosicionMouse(TMessage& msg){
    Caption = "X="+(AnsiString) msg.LParamLo + " Y="+(AnsiString) msg.LParamHi;
}
    BEGIN_MESSAGE_MAP
        VCL_MESSAGE_HANDLER(WM_MOUSEMOVE, TMessage, PosicionMouse)
    END_MESSAGE_MAP(TForm)


public:      // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

muchas gracias césar fuiste de gran ayuda
Volver arriba
Mensaje    Asunto: Responder citando

hola césar

Probé el código... y parece que me explique mal
lo que queria saber, son las coordenadas de la forma cuando vaya pasando el mouse por una TImage o cualquier clase de objeto

porque cuando uno inserta un objeto, y pasa el mouse por encima de este toma las coordenas de cuando empieza y cuando termina la imagen.
Volver arriba
Mensaje    Asunto: Responder citando

Añade el componente TApplicationEvents (pestaña: Additional) y en su evento OnMessage pon el siguiente código:
Código:
// Detecta si se ha movido el ratón sobre el Form1
if (Msg.message==WM_MOUSEMOVE && Msg.hwnd==Form1->Handle)
{
    POINTS pt = MAKEPOINTS(Msg.lParam);
    Caption = Format("%d, %d", ARRAYOFCONST((pt.x, pt.y)) );
}

Esto permitirá saber las coordenadas del ratón aunque este sobre controles como el TImage, aunque no sobre controles que desciendan de TWinControl (TButton, TEdit, etc.), si necesitas que también funcione sobre estos últimos en vez de lo anterior usa:
Código:
if (Msg.message == WM_MOUSEMOVE)
{
    String str;
    TPoint pt(LOWORD(Msg.lParam), HIWORD(Msg.lParam));

    if (Msg.hwnd == Handle)
    {
        str.sprintf("X=%d, Y=%d", pt.x, pt.y);
        Caption = str;
    }
    else if (IsChild(Handle, Msg.hwnd))
    {
        TWinControl* control = FindControl(Msg.hwnd);
        if (control)
        {
            pt = control->ClientToParent(pt);
            str.sprintf("X=%d, Y=%d", pt.x, pt.y);
            Caption = str;
        }
    }
}
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.