by César E. Lozada » Sun Dec 21, 2008 3:54 am
Con todo gusto Manuel y disculpa la tardanza. Estuve varios días sin utilizar la red.
Con DrawFrameControl() puedes dibujar todos estos "objetos" de windows:
#define DFC_CAPTION 1
#define DFC_MENU 2
#define DFC_SCROLL 3
#define DFC_BUTTON 4
*#if(WINVER >= 0x0500)
#define DFC_POPUPMENU 5
*#endif /* WINVER >= 0x0500 */
//DFC_CAPTION
#define DFCS_CAPTIONCLOSE 0x0000
#define DFCS_CAPTIONMIN 0x0001
#define DFCS_CAPTIONMAX 0x0002
#define DFCS_CAPTIONRESTORE 0x0003
#define DFCS_CAPTIONHELP 0x0004
//DFC_MENU
#define DFCS_MENUARROW 0x0000
#define DFCS_MENUCHECK 0x0001
#define DFCS_MENUBULLET 0x0002
#define DFCS_MENUARROWRIGHT 0x0004
//DFC_SCROLL
#define DFCS_SCROLLUP 0x0000
#define DFCS_SCROLLDOWN 0x0001
#define DFCS_SCROLLLEFT 0x0002
#define DFCS_SCROLLRIGHT 0x0003
#define DFCS_SCROLLCOMBOBOX 0x0005
#define DFCS_SCROLLSIZEGRIP 0x0008
#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
//
#define DFCS_BUTTONCHECK 0x0000
#define DFCS_BUTTONRADIOIMAGE 0x0001
#define DFCS_BUTTONRADIOMASK 0x0002
#define DFCS_BUTTONRADIO 0x0004
#define DFCS_BUTTON3STATE 0x0008
#define DFCS_BUTTONPUSH 0x0010
//
#define DFCS_INACTIVE 0x0100
#define DFCS_PUSHED 0x0200
#define DFCS_CHECKED 0x0400
* #if(WINVER >= 0x0500)
#define DFCS_TRANSPARENT 0x0800
#define DFCS_HOT 0x1000
* #endif /* WINVER >= 0x0500 */
#define DFCS_ADJUSTRECT 0x2000
#define DFCS_FLAT 0x4000
#define DFCS_MONO 0x8000
*======================================================================
Static Function DrawButtonPush(hDC,aRect,lPushed,lEnabled)
Local nState
DEFAULT lPushed:=.F., lEnabled:=.T.
nState:=nOr(DFCS_BUTTONPUSH,if(lPushed,DFCS_PUSHED,0),if(!lEnabled,DFCS_INACTIVE,0))
return DrawFrameControl(hDC,aRect,DFC_BUTTON,nState)
*======================================================================
Static Function DrawCheckBox(hDC,aRect,lChecked,lEnabled)
Local nState
DEFAULT lChecked:=.F., lEnabled:=.T.
DEFAULT lChecked:=.F., lEnabled:=.T.
nState:=nOr(DFCS_BUTTONCHECK,if(lChecked,DFCS_CHECKED,0),if(!lEnabled,DFCS_INACTIVE,0))
return DrawFrameControl(hDC,aRect,DFC_BUTTON,nState)
*======================================================================
Static Function DrawRadioButton(hDC,aRect,lChecked,lEnabled)
Local nState
DEFAULT lChecked:=.F., lEnabled:=.T.
nState:=nOr(DFCS_BUTTONRADIO,if(lChecked,DFCS_CHECKED,0),if(!lEnabled,DFCS_INACTIVE,0))
return DrawFrameControl(hDC,aRect,DFC_BUTTON,nState)
*======================================================================
Static Function DrawGuide(hDC,aRect)
return DrawFrameControl(hDC,aRect,DFC_MENU,DFCS_MENUARROW)
*======================================================================