Rossine wrote:Olá,
Como saber se uma dialog/window está maximizada ?
Obrigado,
Rossine,
Cuando Windows envia el mensaje WM_SIZE que puede ser capturado por el bloque de codigo ::bResized, le envia como "primer" argumento al bloque el tipo de estado de la ventana, que usted puede capturar tranquilamente a traves de una variable de su programa para posterior verificar el estado de la misma.
/*
* WM_SIZE message wParam values
*/
#define SIZE_RESTORED 0
#define SIZE_MINIMIZED 1
#define SIZE_MAXIMIZED 2
#define SIZE_MAXSHOW 3
#define SIZE_MAXHIDE 4
/*
* Obsolete constant names
*/
#define SIZENORMAL SIZE_RESTORED
#define SIZEICONIC SIZE_MINIMIZED
#define SIZEFULLSCREEN SIZE_MAXIMIZED
#define SIZEZOOMSHOW SIZE_MAXSHOW
#define SIZEZOOMHIDE SIZE_MAXHIDE
Ejemplo:
- Code: Select all Expand view RUN
local nSizeType:= 0
DEFINE WINDOW oWnd
@0,0 BUTTON oBtn PROMPT "Ver Estado" OF oWnd ACTION Alert(Str(nSizeType))
oWnd:bResized:= {|wParam| nSizeType:= wParam }
ACTIVATE WINDOW oWnd
Saludos
Hernan