Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-11-2006
dany2006 dany2006 is offline
Miembro
 
Registrado: nov 2006
Posts: 18
Poder: 0
dany2006 Va por buen camino
shapes

ok. te cuento bien como seria. Tengo 121 Shapes en el formulario. Necesito que al pasar el puntero del mouse por cada uno de ellos pueda saber de cual se trata para cambiarle las propiedades.
Responder Con Cita
  #2  
Antiguo 10-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues no veo cuál es el problema. Con la función que puse en mi mensaje anterior puedes hacerlo invcándola en el evento MouseMove del formulario. El MouseMove no se detecta cuando se pasa por un control pero sí cuandos e pasa por un shape.

// Saludos
Responder Con Cita
  #3  
Antiguo 10-11-2006
dany2006 dany2006 is offline
Miembro
 
Registrado: nov 2006
Posts: 18
Poder: 0
dany2006 Va por buen camino
shapes

Agradeceria que pusieran el codigo de c++, porque no entiendo muy bien el de Delphi. Se que es similar la fuente, pero no pude traducirla. Gracias
Responder Con Cita
  #4  
Antiguo 10-11-2006
dany2006 dany2006 is offline
Miembro
 
Registrado: nov 2006
Posts: 18
Poder: 0
dany2006 Va por buen camino
a

Esta linea: como sería en c++?
if Components[i] is TShape then
Responder Con Cita
  #5  
Antiguo 10-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Buena pregunta, al parecer en C++ es distinto, no hay operador is.

Aquí ya no tengo el C++ para probar pero intentemos a ciegas:

Código:
TShape * __fastcall TForm1::FindShape(TPoint Pos)
{
  integer i;

  for (i = 0; i < this->ComponentCount; i++)
  {
    if (dynamic_cast<TShape *>(this->Components[i]))
    {
      if PtInRect(((TShape *)this->Components[i])->BoundsRect, Pos)
      {
         return ((TShape *)this->Components[i]);
      }
    }
  }

  return NULL;
}
// Saludos
Responder Con Cita
  #6  
Antiguo 10-11-2006
dany2006 dany2006 is offline
Miembro
 
Registrado: nov 2006
Posts: 18
Poder: 0
dany2006 Va por buen camino
Gracias!!!!!!!!!!

Estoy muy agradecido. Me salvaron totalmente. La verdad es que sos un capo por la disposición que tenés al escribir el código aunque sea "a ciegas". El código en C++ corregidos unos pequeños detalles sería:

Código:
TShape * __fastcall TForm1::FindShape(TPoint Pos)
{
  for (int i = 0; i < this->ComponentCount; i++)
    if ( dynamic_cast < TShape * > (this->Components[i]))
      if (PtInRect(((TShape *)this->Components[i])->BoundsRect, Pos) )
         return ((TShape *)this->Components[i]);
  return NULL;
}
Lo pongo por si le sirve a alguien más.

Hasta la próxima.

Última edición por dec fecha: 10-11-2006 a las 07:13:14.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener el nombre de la tabla jzginez Conexión con bases de datos 1 18-08-2006 23:32:03
obtener version y nombre de aplicacion droguerman OOP 2 10-06-2006 17:25:57
Obtener el nombre del Adaptador de Red wpolanco Redes 0 17-05-2006 06:16:01
Obtener el nombre de mi ejecutable jorch_yr Varios 3 29-05-2004 21:23:34
¿Se puede obtener el nombre de un handle? Al González API de Windows 5 23-12-2003 17:48:55


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


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi