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 12-09-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 24
Toni Va por buen camino
Hola _cero_, muchas gracias por tu ejemplo tambien.

Si que lo mire pero esta hecho en una version superior a mi builder (BCB6.0) y al no poder abrir el proyecto no he podido ver que propiedades has modificado del TForm. He editado los archivos .cpp y .h para ver el codigo pero aqui no he visto que es lo que hace que se pueda desplazar hacia arribar el formulario fuera del margen.

La verdad que tambien me despisto porque has utilizado un TImage y pense que desplazabas el image y no el form.

Haber si me puedes decir que propiedades cambiastes en el form.
__________________
Saludos,

Bitman
Responder Con Cita
  #2  
Antiguo 13-09-2011
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 20
_cero_ Va por buen camino
Bueno, en el form solo cambie la propiedad “BorderStyle” a “bsNone”, y puse el tamaño a 2000 de ancho y 2000 de alto, y la magia de todo se hace en los eventos OnMouseDown, OnMouseMove, y OnMouseUp, estos eventos están en casi todos los componentes visuales, incluyendo el form, así que puedes moverlo desde el mismo form o desde un TImage como lo hago yo. Ahora explicare lo que hago:

Código:
//Primero declaramos dos variables globales.
bool dra = false; //Esta nos sirve para saber cuándo el usuario da click (o toca la pantalla), y cuando lo suelta.
TPoint poi; //Y esta nos sirve para saber en qué coordenadas lo hiso

//---------------------------------------------------------------------------
void __fastcall TForm1::ima2MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
          int X, int Y)
{
/*En esta parte guardamos las coordenadas en las que el usuario hiso click*/
    dra = true;
    poi = Point( X, Y );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ima2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
{
/*Si dra == true o sea si el usuario hiso click y no lo ha soltado,
calculamos el punto Y (o Top), que el formulario tendrá*/
    if ( dra == true ) {
//        int xx = Form1->Left + X - poi.x;
        int yy = Form1->Top + Y - poi.y;

        if ( yy < 0 ) {
            Form1->Top = yy;
        }
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ima2MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift,
          int X, int Y)
{
/*Aquí ponemos dra = false, porque el usuario levanto el click*/
    dra=false;
}
//---------------------------------------------------------------------------
Pd. Para abrir el formulario que subí, solo tienes que crear un nuevo proyecto y agregar el cpp al proyecto que creaste, en teoría no debería haber mayor inconveniente, aunque no me acuerdo muy bien del builder 6.
Responder Con Cita
  #3  
Antiguo 13-09-2011
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 24
Toni Va por buen camino
Hola,

Por fin he tenido un poco de tiempo para probar el codigo que me enviaste. Funciona perfectamente, no tiene el problema del mencionado rebote que nos pasaba con las otras tecnicas.

La verdad que el codigo es muy similar ha como lo probe yo la primera vez y por eso me despisto cuando me lo enviaste, eso y el no poder abrir directamente el proyecto por no ser la misma version de builder.

Pero la verdad que asi funciona perfecto! Ahora tengo que hacerme una rutinas para que cuando cambie el foco de los objetos desplace tambien el formulario a la posicion correcta.

Por cierto, se os ocurre una vez hecho esto como se podria captar la velocidad del dedo al mover el formulario y para darle el efecto este como si lo lanzases.

Muchas gracias!
__________________
Saludos,

Bitman
Responder Con Cita
  #4  
Antiguo 13-09-2011
_cero_ _cero_ is offline
Miembro
 
Registrado: abr 2007
Posts: 147
Poder: 20
_cero_ Va por buen camino
mmm no tengo nada que te pueda ayudar a las animaciones, aunque creo que con un timer y algo de trabajo que daría algo de muy buen ver, pero como no tengo una pantalla táctil, y tampoco es algo en lo que este muy metido (me refiero en lo táctil), me temo que ahí quedare yo. De todos modos nos vemos, y te repito que desde la versión 2010 de builder, ya tienes los recursos para manejar mejor estas interfaces, así que si tienes la posibilidad de cambiar a esa versión, hazlo. Porque ahí ya está trabajadas las cosas como el efecto de lanzamiento y otras cuestiones. De todos modos nos vemos y te dejo un videin para que veas de qué hablo. http://www.youtube.com/watch?v=1a2dywOBKao#t=06m05s
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
Bloquear el tamaño de un formulario manolop Varios 2 28-03-2008 08:48:01
Ver imagen en un DBImage en tamaño mayor pablorc Gráficos 2 23-01-2006 16:16:21
Tamaño del Formulario alfil123 Varios 3 30-12-2005 16:13:42
Problema con el tamaño de un formulario Javi2 Varios 1 11-08-2005 13:25:55
Tamaño formulario hijo craven Varios 1 22-05-2003 00:13:33


La franja horaria es GMT +2. Ahora son las 15:10:53.


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