....
....
FUNCTION DRAW_TITLE( oDlg, oBitmap, nStyle, hDC, lDirect, nVColor, ;
nBColor, nMove, cBrush, cImage, nLeft, oFont, nTColor, ;
cTitle, lLine, lBox, nPen, nPColor, cBitmap1, nBTop, nBLeft, cBitmap2, nMultiH )
LOCAL aGrad := { { nMove, nVColor, nBColor }, { nMove, nBColor, nVColor } }
LOCAL aRect := GETCLIENTRECT( oBitmap:hWnd )
LOCAL oNewBrush, oImage, nRow := 0, nCol := 0, n, hPen, hOldPen, hBitmap1, hBitmap2
// The MAIN-image
DEFINE BRUSH oNewBrush ;
COLOR GradientFill( hDC, 0, 0, aRect[3], aRect[4], aGrad, lDirect )
// The left Image
IF !EMPTY ( cBitmap1 ) .and. FILE( c_path1 + cBitmap1 )
hBitmap1 := ReadBitmap( 0, c_path1 + cBitmap1 )
ABPaint( hDC, nBLeft, nBTop, hBitmap1, 255 )
ENDIF
// The EXIT-image
IF !EMPTY ( cBitmap2 ) .and. FILE( c_path1 + cBitmap2 )
oBitmap:bMMoved = { | nX, nY | IIF( nY > aRect[4] - 24, ;
CHANGECURS(oBitmap, .F.), ;
CHANGECURS(oBitmap, .T.) ) }
hBitmap2 := ReadBitmap( 0, c_path1 + cBitmap2 )
ABPaint( hDC, aRect[4] - 30, nBTop, hBitmap2, 255 )
oBitmap:bLClicked = { | nRow, nCol | IIF( nCol > aRect[4] - 24, oDlg:End(), NIL ) }
ENDIF
...
...
// ---------------------------------
FUNCTION CHANGECURS(oBitmap, lShow)
LOCAL oArrow, oCrsHand
IF lShow = .F.
DEFINE CURSOR oCrsHand RESOURCE "Hand"
oBitmap:oCursor := oCrsHand
ELSE
DEFINE CURSOR oArrow RESOURCE "Arrow"
oBitmap:oCursor := oArrow
ENDIF
RETURN NIL