Sin WS_CLIPCHILDREN efectivamente no va muy bien, el control normalmente se ve, pero ciertamente da problemas de parpadeo en otros controles y otras cosas raras...
El problema al poner el estilo es que hay controles que se hacen transparentes y se ve lo que hay detrás del formulario, o a veces se ve todo negro, según le parezca
Mirad por ejemplo el código simplificado que pongo abajo, si tenéis cosas en medio de la pantalla las veréis a través de él, si no ponedlo delante de algo, minimizad, y al restaurar sale la transparencia (o todo negro).
Casi lo soluciono poniendo una etiqueta que tapa todo el formulario, pero no va del todo bien. La he dejado comentada por si queréis probarlo. El caso es que entonces los recuadros de los ¡inputboxes no salen! Al pasar el ratón sobre ellos aparece, ¡es muy fastidioso!
He intentado también con un Picture... ¡también sale transparente! como si no estuviera...
¿Quizás alguna manera de obligar a que pinte el fondo del formulario aunque tenga el WS_CLIPCHILDREN, aunque si eso es como anular el flag entonces fallaría el ActiveX
Porfa a ver si alguien sabe algo porque es una faena, todo es funcional pero o va el ControlObject o se ve todo como un churro...
Este código es una tremenda simplificación del GUI original, pero aquí también se ve el "efecto". En este caso el control problemático es el grupo, si se pudiera hacer "no transparente"... De todas maneras pasa con otros controles, como digo los Picture tampoco van nada bien...
Código: Seleccionar todo
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $CoordGUI, $btnCerrar
$CoordGUI = GUICreate("Gui feo", 252, 230, -1,-1, BitOR($GUI_SS_DEFAULT_GUI, $WS_CLIPCHILDREN))
;~ GuiCtrlCreateLabel("", 0,0,252,230)
;~ GuiCtrlSetState(-1, $GUI_DISABLE)
GUICtrlCreateGroup("El título del grupo", 5, 9, 241, 180)
GUICtrlSetFont(-1, -1, 800)
GUICtrlCreateLabel("UTM, huso 31:", 24, 39, 101, 14)
GUICtrlSetFont(-1, -1, 800)
GUICtrlCreateLabel("X,Y =", 26, 59, 30, 17)
GUICtrlCreateInput("", 59, 55, 81, 21)
GUICtrlCreateInput("", 144, 55, 81, 21)
GUICtrlCreateLabel("UTM, huso 30:", 24, 103, 101, 14)
GUICtrlSetFont(-1, -1, 800)
GUICtrlCreateLabel("X,Y =", 26, 123, 30, 17)
GUICtrlCreateInput("", 59, 119, 81, 21)
GUICtrlCreateInput("", 144, 119, 81, 21)
$btnCerrar = GUICtrlCreateButton("Cerrar", 190, 195, 50, 25)
GUISetState(@SW_SHOW)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $btnCerrar
ExitLoop
EndSwitch
WEnd