00001
00002
00003
00004
00005
00006 #include "stdafx.h"
00007 #include "grutil.h"
00008
00009 void fsFillSolidRect (CDC* pDC, RECT* prc, COLORREF clr)
00010 {
00011 CBrush br (clr);
00012 pDC->FillRect (prc, &br);
00013 }
00014
00015 void fsDrawFrame (CDC* dc, RECT* prc, int w)
00016 {
00017 CPen LightPen (PS_SOLID, 1, GetSysColor (COLOR_3DLIGHT));
00018 CPen DarkPen (PS_SOLID, 1, GetSysColor (COLOR_3DDKSHADOW));
00019 CPen HilightPen (PS_SOLID, 1, GetSysColor (COLOR_3DHILIGHT));
00020 CPen ShadowPen (PS_SOLID, 1, GetSysColor (COLOR_3DSHADOW));
00021
00022 CPen* oldpen = dc->SelectObject (&HilightPen);
00023 dc->MoveTo (prc->left, prc->bottom);
00024 dc->LineTo (prc->left, prc->top);
00025 dc->LineTo (prc->right, prc->top);
00026
00027 if (w == 2)
00028 {
00029 dc->SelectObject (&LightPen);
00030 dc->MoveTo (prc->left+1, prc->bottom-1);
00031 dc->LineTo (prc->left+1, prc->top+1);
00032 dc->LineTo (prc->right-1, prc->top+1);
00033 }
00034
00035 dc->SelectObject (w == 2 ? &DarkPen : &ShadowPen);
00036 dc->MoveTo (prc->left + 1, prc->bottom);
00037 dc->LineTo (prc->right, prc->bottom);
00038 dc->LineTo (prc->right, prc->top);
00039
00040 if (w == 2)
00041 {
00042 dc->SelectObject (&ShadowPen);
00043 dc->MoveTo (prc->left + 2, prc->bottom - 1);
00044 dc->LineTo (prc->right - 1, prc->bottom - 1);
00045 dc->LineTo (prc->right - 1, prc->top + 1);
00046 }
00047
00048 dc->SelectObject (oldpen);
00049 }
00050
00051 void fsDrawPressedFrame (CDC* dc, RECT* prc, int w)
00052 {
00053 CPen LightPen (PS_SOLID, 1, GetSysColor (COLOR_3DLIGHT));
00054 CPen DarkPen (PS_SOLID, 1, GetSysColor (COLOR_3DDKSHADOW));
00055 CPen HilightPen (PS_SOLID, 1, GetSysColor (COLOR_3DHILIGHT));
00056 CPen ShadowPen (PS_SOLID, 1, GetSysColor (COLOR_3DSHADOW));
00057
00058 CPen* oldpen = dc->SelectObject (w == 2 ? &DarkPen : &ShadowPen);
00059 dc->MoveTo (prc->left, prc->bottom);
00060 dc->LineTo (prc->left, prc->top);
00061 dc->LineTo (prc->right, prc->top);
00062
00063 if (w == 2)
00064 {
00065 dc->SelectObject (&ShadowPen);
00066 dc->MoveTo (prc->left+1, prc->bottom-1);
00067 dc->LineTo (prc->left+1, prc->top+1);
00068 dc->LineTo (prc->right-1, prc->top+1);
00069 }
00070
00071 dc->SelectObject (&HilightPen);
00072 dc->MoveTo (prc->left + 1, prc->bottom);
00073 dc->LineTo (prc->right, prc->bottom);
00074 dc->LineTo (prc->right, prc->top);
00075
00076 if (w == 2)
00077 {
00078 dc->SelectObject (&LightPen);
00079 dc->MoveTo (prc->left + 2, prc->bottom - 1);
00080 dc->LineTo (prc->right - 1, prc->bottom - 1);
00081 dc->LineTo (prc->right - 1, prc->top + 1);
00082 }
00083
00084 dc->SelectObject (oldpen);
00085 }