![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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 |
|
#2
|
|||
|
|||
|
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;
}
//---------------------------------------------------------------------------
|
|
#3
|
|||
|
|||
|
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 |
|
#4
|
|||
|
|||
|
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
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|