Power Builder - ventana popup-response

   
Vista:

ventana popup-response

Publicado por eduardo.v (208 intervenciones) el 21/03/2009 21:45:19
Hola amigos

Ya se que resulta raro lo que quiero hacer pero creanme que es necesario

necesito hacer que una ventana de tipo popup se comporte como una ventana de tipo response, osea que al abrirse se mantenga el foco en la ventana y se desabilite todo lo que esta detras de ella, ademas que se haga una pausa en la ejecucion del codigo hasta que la ventana se cierre (como un response)

otra opcion puede ser que una ventana de tipo response tenga las caracteristicas de una ventana popup.

Especificamente lo que necesito es una ventana que se comporte como un response pero que no tenga bordes ni barra de titulo algo que en el response original del power es imposible de desabilitar. En la ventana de tipo popup si es posible desabilitar estas propiedades.

Agradeceria que alguien me pueda ayudar con esto

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ventana popup-response

Publicado por sthif (63 intervenciones) el 23/03/2009 16:56:05
Esto te puede ayudar:

Declara en tu ventana response como local external fucntions:

Public Function Long GetWindowRect (Long hWnd, Ref st_RECT lpRect) Library "user32"
Public Function Long GetClientRect (Long hWnd, Ref st_RECT lpRect) Library "user32"

Public Function Long CreateRoundRectRgn(Long nLeftRect, Long nTopRect, Long nRightRect, Long nBottomRect, Long nWidthEllipse, Long nHeightEllipse) Library "gdi32"

Public Function Long SetWindowRgn (Long hWnd, Long hRgn, Boolean bRedraw) Library "user32"

Crea esta estructura:

global type st_rect from structure
long left
long top
long right
long bottom
end type

Ahora en el Open de la misma:

// Declaración de variables
st_Rect WindowRect, ClientRect
Long BorderSize, TitleSize
Long hRgn

// get window outer and innner rectangles and calculate window client position
GetWindowRect (Handle(w_pb10_response), WindowRect)
GetClientRect (handle(w_pb10_response), ClientRect)

BorderSize = ((WindowRect.Right - WindowRect.Left) - (ClientRect.Right - ClientRect.Left)) / 2
TitleSize = (WindowRect.Bottom - WindowRect.Top) - (ClientRect.Bottom - ClientRect.Top) - BorderSize

// create eliptic window
hRgn = CreateRoundRectRgn (BorderSize + ClientRect.Left, TitleSize + ClientRect.Top, BorderSize + ClientRect.Right, TitleSize + ClientRect.Bottom, 50, 50)
SetWindowRgn (Handle(w_pb10_response), hRgn, True)

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ventana popup-response

Publicado por eduardo.v@terra.com.pe (3 intervenciones) el 24/03/2009 01:15:58
Gracias amigo
Lo voy a probar
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar