![]() |
![]() |
| 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
|
||||
|
||||
|
Cita:
A final de cuentas, para mover una ventana hay muchos pasos involucrados: WM_NCHITTEST, WM_ENTERSIZEMOVE, WM_MOVING, WM_EXITSIZEMOVE, WM_MOVE, WM_WINDOWPOSCHANGING, WM_WINDOWPOSCHANGED y uno puede intentar frenar los necesarios. Pero al quitar el comando SC_MOVE te evitas todo esto, simplemente le dices: está prohibido mover. En cuanto a lo de maximizar la ventana pues esto lo puedes evitar quitando biMaximize de la propiedad BorderIcons. Si además se desea evitar que se cambie el tamaño de la ventana, se puede añadir: DeleteMenu(GetSystemMenu(Handle, false), SC_SIZE, MF_BYCOMMAND); aunque en este caso también hay que trabajar WM_NCHITTEST para que el cursor del ratón no cambie de forma cuando se coloca sobre los bordes:
// Saludos |
|
#2
|
||||
|
||||
|
El método tiene un problema que antes no había visto:
Si se quitan todos los iconos de la barra de título, entonces la ventana ya se puede mover. Veremos si se puede solucionar esto. // Saludos |
|
#3
|
||||
|
||||
|
Nada como quitar la barra de titulo, y como mucho, hacer una con un panel y 3 botones.
Ya no tenemos que atar de pies y manos, simplemente se las cortamos ![]() Un saludo |
|
#4
|
||||
|
||||
|
Hola
Bueno, posteo para insistir en mi método de capturar el mousedown en la zona no cliente(WM_NCLBUTTONDOWN), y no hacer nada en el caso de que esté sobre el caption:
creo que esto acompañado de lo propuesto por roman para borrar la opción de mover en el menu:
impide cualquier movimiento de la forma, independientemente de que tenga botones o no. Saludos
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
|
#5
|
||||
|
||||
|
Cita:
// Saludos |
|
#6
|
||||
|
||||
|
Lo probaste??
Cita:
Cita:
Edito: Ampliando un poco más la respuesta puedo decir que al especificar que la acción sea controlada solo sobre el caption, especificando (HTCAPTION), evito que se inhabiliten otras zonas no cliente como el menú sistema (HTSYSMENU), el botón de maximizar (HTMAXBUTTON), el de minimizar (HTMINBUTTON) entre otros. Saludos.
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo Última edición por yusnerqui fecha: 06-10-2005 a las 19:53:18. Razón: Ampliar la respuesta |
|
#7
|
||||
|
||||
|
Tienes razón yusnerqui, disculpa. Me quedé pensando en el ejemplo de Marcos del otro hilo.
// Saludos |
|
#8
|
||||
|
||||
|
Cita:
un abrazo
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|