Título: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: xkiz ™ en 1 Octubre 2011, 03:58 am pequeña consulta de principiante, tengo un ventana la cual necesito, por aspecto visual que sea como el ilustrado en la imagen de abajo, pero lo que no me sale es que esta ventana no se pueda redimendionar.
(http://www.mediafire.com/imgbnc.php/07afbb8af1b0b823a1cc6395f6ee0a4a861353a7386007d2648911de86cf6abe5g.jpg) lo que estoy usando es lo siguiente: Código
osea se que si le saco WS_THICKFRAME la ventana ya no es redimencionable, pero la verdad es que me parece que queda mejor visualmente así,osea hay algun estilo que me este olvidando de poner? osea lo que trato de hacer es lo mismo que la ventana de Windows donde se controla el volumen. Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: Karman en 1 Octubre 2011, 06:21 am fijate el mensaje WM_WINDOWPOSCHANGING (http://msdn.microsoft.com/en-us/library/windows/desktop/ms632653%28v=vs.85%29.aspx)
Código
S2 Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: xkiz ™ en 1 Octubre 2011, 19:52 pm nunca pense que una ventanitta me iba a complicar tanto, @Karman WM_WINDOWPOSCHANGING no la conocía, igual me hace un efecto medio raro, vah aplicando eso igual se puede redimencionar la ventana.
lo que trato de hacer es una ventana semi control del volumen de Windows7(no me acuerdo como era en XP) arriba omití poner código: Código
yo pense que con SetWindowPos con SWP_NOSIZE lo iba a poder hacer pero no cambia nada. encima no puedo capturar la ventana de control de volumen de windows con mingun Control Spy para ver el Style que tiene aplicado ni nada.... Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: naderST en 1 Octubre 2011, 20:52 pm Yo estaba pensando en obtener el estilo de la ventana, el proceso se llama SndVol.exe puedes recorrer todas las ventanas y verificar que su proceso sea ese, si tengo tiempo mas tarde me pongo a probar...
Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: BlackZeroX en 1 Octubre 2011, 21:37 pm Solo debes cancelar el mensaje de NOTIFICACION al redimencionar la ventana...
con un Hook seria interceptar a WM_SYSCOMMAND y rectificar wParam... y cancelar!¡. Código
pero como ya tienes el Callback de la ventana solo debas ajustar esas lineas. Dulces Lunas!¡. Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: Karman en 1 Octubre 2011, 22:57 pm nunca pense que una ventanitta me iba a complicar tanto, @Karman WM_WINDOWPOSCHANGING no la conocía, igual me hace un efecto medio raro, vah aplicando eso igual se puede redimencionar la ventana. Probaste desactivar el flag de redimencionamiento? Código
S2 Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: xkiz ™ en 1 Octubre 2011, 23:52 pm mm no se que hice que ahora no me anda nada se me crashea de nada, no se que hice pero arruine todo, nada me anda del programa ya...
error de la PC Virtual, reinstalo la pc virtual y VS6 y veo que onda.. por ahora lo de @BlackZeroX, me sirve, pero... @Karman: no lo habia conciderado, ahora cuando arregle la PCV lo pruebo. EI: juntando mensajes. bue, no se que paso ahora maquina virtual re formateada, limpia y todo lindo al iniciar la aplicación se cierra, al iniciar en modo de Debug me devuelve: Código: First-chance exception in Radio.exe: 0xC0000096: Privileged Instruction. haga lo que haga, pero si la pongo en la pc principal anda todo bien. hasta que no solucione eso no puedo seguir con el proyecto. Edit: no se como ni por que, ahora todo funciona bien se soluciono solo ese problema comentado arriba. @Karman: si le pongo eso en Stile, me lo visualiza sin bordes, como estilo clásico. Título: Re: Estilo visual thickframe no redimencionable en C++ 6.0 WinApi Publicado por: xkiz ™ en 3 Octubre 2011, 01:23 am encontré la solución:
Código
WM_NCHITTEST (http://msdn.microsoft.com/en-us/library/windows/desktop/ms645618(v=vs.85).aspx) era el mensaje que tenia que interrumpir para que no permita redimencionar la ventana. @BlackZeroX & @Karman muchas gracias por la ayuda. PD: reposteo solo por que encontré la solución. |