Antonio,
Tanto Radio.prg como Radmenu.prg son idénticas inclusive desde FWH 8.02
Estoy seguro que el problema se relaciona directamente con DIALOGOS y TRANSPARENCIAS.
Estamos haciendo un trabajo urgente para un cliente, y ahora tenemos el problema con TPAGES.
Se define un diálogo desde recursos, el cual incluye un
TPAGE. De igual manera, desde recursos se definen las Páginas para
TPage. En una de ellas se usan Radios.
El diálogo lleva de fondo un Brush con Bmp. Si defines el diálogo como TRANSPARENT no pone el brush de fondo en las páginas de
TPage, además de que daña los radios.
Intenté con:
Code: Select all | Expand
for i:= 1 TO Len(oPages:aDialogs)
oPages:aDialogs[i]:lTransparent := .T.
oPages:aDialogs[i]:oBrush := oBrush
oPages:aDialogs[i]:SetBrush(oBrush)
oPages:aDialogs[i]:Refresh()
next
Pero, con oPages:aDialogs[i]:lTransparent := .T. pone el brush en las páginas pero pinta mal los radios.
Si pones oPages:aDialogs[i]:lTransparent := .F. pinta bien los radios, pero NO PINTA EL BRUSH DE LAS PAGINAS.
Hemos probado de todo y no encontramos solución, salvo regresarnos a la versión FWH 8.02 . La locura. Se nos está atrasando completamente el trabajo.
Son las 7:45 p.m. y ya el cansancio y la frustración me tienen fundido.
Ahora son las 8:45 p.m. y encontré otra solución chapucera:
Code: Select all | Expand
DEFINE DIALOG oDlg RESOURCE "DLG_PRINCIP" TITLE "La lucura de las actualizaciones";
ICON oIcon1 BRUSH oBrush // TRANSPARENT
luego redefino TPage,
REDEFINE PAGES oPages ID 180 OF oDlg DIALOGS "PAG_PAG1","PAG_PAG2"
le asigno el brush
oPages:oBrush:=oBrush
y antes del ACTIVATE DIALOG
For i:=1 TO Len(oDlg:aControls)
if oDlg:aControls[i]:ClassName()=="TSAY"
oDlg:aControls[i]:lTransparent:=.T.
endif
next
Medio pinta el brush en las páginas del
TPage (pues se lo asigné directamente ya que no hereda el del Diálogo). Aunque regular estéticamente, caminando rápido no se nota, pero en cambio, ahora a los Radios no les pinta, a todas las opciones, el cuadrito cuando pasas el mouse encima de las mismas, PERO, EN EL CAPTION DE LAS OPCIONES DEL RADIO NO PONE EL BRUSH.
Que frustrante. Por favor ayúdame. Dada la complejidad de la clase TDialogo, que a su vez hereda de TWindow, no me atrevo a meterle la mano (y ni tengo idea por dónde metersela) y ya estamos super atrasados, y como comprenderás, super desanimados.
Gracias y saludos,
Carlos Gallego