Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Mover el formulario (https://www.clubdelphi.com/foros/showthread.php?t=85326)

andres_89 03-03-2014 04:52:20

Mover el formulario
 
Hola a todos,

como podria mover mi formulario pero a través de un Label, exactamente que al tener presionado el click del mouse sobre el label este se mueva mientras muevo mouse, igual que el borde del formulario pero con el Label.

Gracias.

andres_89 03-03-2014 05:38:03

Solución encontrado
 
Buscando por todo el foro pude encontrar lo que queria, el enlace es el siguiente:

http://www.clubdelphi.com/foros/show...ver+formulario

saludos.

escafandra 04-03-2014 00:58:55

Quizás tengas una solución más sencilla a tu problema de esta forma:
Código:

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

Saludos.

ecfisa 04-03-2014 17:59:08

Hola andres_89.

Otra alternativa mas.

Header:
Código:

...
private:       
  void __fastcall WMNCHitTest(TMessage& Msg);
  BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_NCHITTEST, TMessage, WMNCHitTest)
  END_MESSAGE_MAP(TForm)
...

.cpp
Código:

...
void __fastcall TForm1::WMNCHitTest(TMessage &Msg)
{
  TForm::Dispatch(&Msg);
  if (Msg.Result == HTCLIENT)
    Msg.Result = HTCAPTION;
}
...

Saludos :)

andres_89 05-03-2014 00:03:42

Gracias
 
Gracias escafandra y ecfisa, me funcionaron correctamente ambas alternativas aparte de ser mas simples.

Saludos.

ecfisa 05-03-2014 02:12:13

Hola andres_89.

Tengo que disculparme por que no interpreté o leí mal tu consulta cuando mencionas:
Cita:

...exactamente que al tener presionado el click del mouse sobre el label...
En ese caso aplica el código que te sugirió escafandra, ya que el que te puse si bién mueve el form, no discrimina el control sobre el que se realiza el click, del mismo modo lo hará sobre otro label o incluso sobre el propio form.

Saludos :)

andres_89 05-03-2014 02:17:52

Mover label
 
Si tienes razón ecfisa, no me habia percatado que movía tambien el Form, ya que lo compile y defrente me fuí al label, el código de escafandra si se centra en el label.

Saludos.


La franja horaria es GMT +2. Ahora son las 15:14:25.

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