 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
jk Invitado
|
Publicado: Sab 23 Oct, 2004 7:59 pm Asunto: Coordenas form(no encontrado en la web) |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 23 Oct, 2004 11:40 pm Asunto: |
|
|
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 |
_________________
 |
|
| Volver arriba |
|
 |
jk Invitado
|
Publicado: Dom 24 Oct, 2004 2:07 am Asunto: |
|
|
| muchas gracias césar fuiste de gran ayuda |
|
| Volver arriba |
|
 |
jk Invitado
|
Publicado: Dom 24 Oct, 2004 2:44 am Asunto: |
|
|
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 |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Dom 24 Oct, 2004 4:16 am Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|