He probado esto que he visto en el foro
- Code: Select all Expand view
oDlg:bPainted := {|| Gradiente(oDlg)}
Proc Gradiente( oDlg )
local nGradient, oBrush
local aRect := GetClientRect( oDlg:hWnd )
local hDC := oDlg:hDc
nGradient := Gradient(hDc, { aRect[1], aRect[2], aRect[3], aRect[4] }, nRgb(255,255,255), nRgb(224,236,255), .T. )
DEFINE BRUSH oBrush COLOR nGradient
FillRect( hDC, aRect, oBrush:hBrush )
ReleaseDC( oDlg:hWnd, hDC )
return
El problema es que en el dialogo existen controles radios buttons y checkbox, y estós no cogen el color de fondo.
También he leido que la forma correcta es teniendo un degradado en un bitmap y estableciendo el fondo con
- Code: Select all Expand view
DEFINE BRUSH oBrush FILENAME "C:\fwh\bitmaps\backgrnd\gradien.bmp"
Define Dialog oDlg Title cTitle Resource "MSGGET_TXT" TRANSPARENT Brush oBrush
Pero el problema es que tendría que crear un bitmap por cada dialogo, si estos cambian de largo.