![]() |
![]() |
| 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
|
||||
|
||||
|
aquí está dentro de un circulo rojo el botoncito al que hago referencia :
http://img387.imageshack.us/my.php?i...toncitooz0.jpg seteando la propiedad dragMode a DMAautomatic y la otra que hago referencia arriba a dkDrag el frame en cuestion se puede mover fuera del form... y es cuando aparece... y no puedo capturar el evento cuando el usuario apreta allí... ahora se entiende un poco mas? |
|
#2
|
||||
|
||||
|
Hola,
Cita:
Estoy tratando de hacer alguna prueba, pero, no consigo que el "Frame" se me muestre fuera del formulario (con el botón), ni aun usando las propiedades y valores que has mencionado, ¿tal vez el formulario también está implicado y necesito establecer alguna de sus propiedades de alguna manera? Tal como imagino, tal vez podría capturarse el mensaje que Windows envíe a la ventana del "Frame" cuando se pulsa en el botón cerrar: el "Frame" no implementa un evento "OnClose", pero, podríamos mirar de capturar el mensaje de Windows susomentado. Pero como veo que el "Frame" tiene más eventos relacionados con el "Drag"... y yo en esto estoy pez... igual alguno de estos eventos sería el indicado... |
|
#3
|
||||
|
||||
|
perdon, la propiedad DragKind la pongo a dkDock, entonces se puede mover el frame a cualquier lugar, incluso se puede resizear en tiempo de ejecución...
sacar el botón de algúna forma también me serviría... Saludos! |
|
#4
|
||||
|
||||
|
Interesante cuestión
![]() El problema aquí es que ese botón realmente no pertenece al Frame. Cualquier derivado de TWinControl tiene la capacidad de arrastrarse fuera de su contenedor; lo mismo que haces con el Frame, puedes hacerlo con un Panel, por ejemplo, o ¡incluso con un Button! Al hacerlo con este último queda más clara la situación: al arrastar el control fuera del formulario, lo que sucede es que la VCL crea un formulario en caliente, de tipo TCustomDockForm e inserta en él el control. Así pues, es con este último formulario con quien tenemos que lidiar. Para ello, hay que capturar el mensaje CM_FLOAT del control (el Frame) que se le manda cuando -justamente- se pone a flotar y se crea el CutomDockForm. El mensaje manda como parámetro dicho formulario y lo que podemos hacer es reemplazar su WindowProc por uno nuestro para interceptar el mensaje WM_CLOSE. Aquí más o menos la idea:
// Saludos |
|
#5
|
||||
|
||||
|
Hola,
Ahí es nada Román. Yo me ví ayer tratando de sustituir el "WindowProc" (siguiendo código tuyo, por cierto) del "Frame" y... nada de nada. Y ahora se comprende perfectamente porqué no era posible hacerlo de ese modo, por lo menos hasta donde yo llegué. Nada, nada, que el que sabe, sabe, y el que no que aprenda. ![]() |
|
#6
|
|||
|
|||
|
Cita:
![]() ![]() ![]() Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#7
|
||||
|
||||
|
Gracias roman por el esclarecimiento de este tema, igualmente el codigo no me resulta del todo amistoso, jeje, voy a ver como lo soluciono.
Me queda una incógnita y es cómo hacer para que el usuario pueda mover uno de estos componentes libremente dentro del form, tal cual uno los mueve en tiempo de diseño, no en modo 'flotante' digamos.... quizás es una simple configuración de propiedades pero no he dado con ella... Saludos y gracias... |
|
#8
|
||||
|
||||
|
Cita:
) son intrínsecas de cualquier control de ventana (TWinControl).Los frames son simplemente (creo que ya lo mencionó dec) un "super panel": como un panel, puede agrupar distintos controles, pero, además tiene dos grandes ventajas: 1. Puede diseñarse como si se tratase de un formulario, esto es, en una ventana aparte, lo cual es muy cómodo cuando, por ejemplo, quieres trabajar con varios grupos de controles en un mismo formulario (alternándolos) y no quieres estar liándote con veinte páneles en tiempo de diseño. 2. Son reusables. Un Frame es como un componente que puedes insertar en uno o más formularios; le puedes definir propiedades y métodos. // Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como mostrar Resultados de una consulta en componentes como los Edit,Label y DbGrids! | danny | Conexión con bases de datos | 2 | 08-05-2008 23:35:46 |
| Como mostrar con DevExpress la grilla como quedo en la última consulta? | Alexander | Conexión con bases de datos | 3 | 27-03-2007 22:37:03 |
| Como saber si me frame esta creado en cierto evento? | Albano | OOP | 2 | 15-03-2007 23:13:44 |
| mantaner una aplicación como modal | Novás | Varios | 3 | 19-02-2004 16:33:44 |
| Como acceder a los componentes de un frame? | CORBATIN | OOP | 7 | 25-07-2003 20:24:23 |
|