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 

arrastrar mas de un form a la vez

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: arrastrar mas de un form a la vez Responder citando

Hola a todos!
Para empezar trabajo sobre un form ( principal )que adopta la forma de un bitmap gracias a la funcion tomada del foro y en el evento Image1MouseDown tengo lo siguiente para poder arrastrar el form pinchando sobre el bitmap:

void __fastcall TPrincipal::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Button == mbLeft)
{
ReleaseCapture();
Perform(WM_SYSCOMMAND, 0xF012, 0);
}
}

el caso es que más tarde depliego otro form (secundario)que tambien adopta la forma de un bitmap y con el mismo codigo en el evento "MouseDown"; me gustaria que al mover el form principal tambien se desplazase el form secundario siguiendo su posicion relativa. No se si me explico bien, arrastrar los dos formularios pinchando solo en uno, algo asi como lo que hace Winamp con su playerlist. :S
Alguna idea??Gracias.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

hay que buscar en el foro de ves encuando no hace mal

esto es del foro ..la anterior no te sirve ya se te hara un poco imposible mover variaos forms.. yo utilice esta en mi reproductor

oid __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
enabled=true;
xo = X; //guardar posicion inicial
yo = Y;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
if (enabled)
{
int x,y;
xn = X;
yn = Y;
if(xo > xn) //mover a la izquierda
{
x = xo - xn;
Left = Left - x;
Form2->Left=Form1->Left-20;/// es un ejemplo para que //tengas una idea
}
else //mover a la derecha
{
x = xn - xo;
Left = Left + x;
Form2->Left=Form1->Left-20;/// es un ejemplo para que //tengas una idea
}
if(yo > yn) //mover arriba
{
y = yo - yn;
Top = Top - y;
Form2->Top=Form1->Topt-20;/// es un ejemplo para que //tengas una idea
}
else //mover abajo
{
y = yn - yo;
Top = Top + y;
Form2->Top=Form1->Topt-20;/// es un ejemplo para que //tengas una idea
}
}
}

y en el header debéis incluir:

int xo,yo,xn,yn; //o- inicial n- final
bool enabled;
_________________
Salu2
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
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.