FUNCTION SHOW_MSG()
Local nValue := 3, oRad
DEFINE DIALOG oPopup FROM nTop, nLeft TO nTop + 280, nLeft + 300 OF oDlg PIXEL FONT oSysFont1 ;
TITLE cHead TRANSPARENT ;
STYLE nOr(WS_POPUP, WS_BORDER, WS_THICKFRAME, WS_CAPTION )
@ 100, 5 RADIO oRad VAR nValue PIXEL ;
ITEMS "&One", "&Two", "T&hree" _3D SIZE 40, 12 ;
HELPID 100, 101, 102 ;
ON CHANGE MsgBeep()
DLG_BRUSH( oPopup, 1, .T., 16770250, 14089979, 0.2 )
ACTIVATE DIALOG oPopup
RETURN( NIL )
//--------- DIALOG Background ------------------------
FUNCTION DLG_BRUSH(oControl, nStyle, lDirect, nVColor, nBColor, nMove, cBrush, cImage)
LOCAL oBrush, oTmp
LOCAL aGrad := { { nMove, nVColor, nBColor }, { nMove, nBColor, nVColor } }
IF nStyle = 1
hDC = CreateCompatibleDC( oControl:GetDC() )
hBmp = CreateCompatibleBitMap( oControl:hDC, oControl:nWidth, oControl:nHeight )
hBmpOld = SelectObject( hDC, hBmp )
GradientFill( hDC, 0, 0, oControl:nHeight, oControl:nWidth, aGrad, lDirect )
DeleteObject( oControl:oBrush:hBrush )
oBrush := TBrush():New( ,,,, hBmp )
oBrush:Cargo := aGrad
SelectObject( hDC, hBmpOld )
oControl:ReleaseDC()
oControl:SetBrush( oBrush )
RELEASE BRUSH oBrush
ENDIF
IF nStyle = 2
IF File( cImage )
DEFINE IMAGE oTmp FILE cImage
oBrush := TBrush():new( ,,,, ResizeBmp( oTmp:hBitmap, oControl:nWidth, oControl:nHeight, .T. ) )
oControl:SetBrush( oBrush )
oBrush:End()
ELSE
MsgAlert( "Cannot load : " + CRLF + ;
cImage, "Error" )
ENDIF
ENDIF
RETURN( NIL )