 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
popito Cdt

Registrado: 10 Oct 2006Mensajes: 1
|
Publicado: Mar 10 Oct, 2006 10:49 pm Asunto: arrastrar mas de un form a la vez |
|
|
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 |
|
 |
max Lt

Registrado: 12 Mar 2005Mensajes: 89Ubicación: Argentina Prov B.A Mar del Plata
|
Publicado: Vie 13 Oct, 2006 5:37 pm Asunto: |
|
|
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 |
|
 |
|
|
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.
|