- RECT r;
- CopyRect(&r, &rectBtn);
-
- HPEN hpenBlack = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DDKSHADOW)),
- hpenGrey = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DSHADOW)),
- hpenLightGr = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DLIGHT)),
- hpenWhite = CreatePen(PS_SOLID, 1, GetSysColor(COLOR_3DHILIGHT));
-
- HPEN hpenOld = (HPEN)SelectObject(hdc, hpenBlack);
-
- r.right--;
- r.bottom--;
-
- if ( pushed )
- {
- DrawRect(hdc, r);
-
- (void)SelectObject(hdc, hpenGrey);
- InflateRect(&r, -1, -1);
-
- DrawRect(hdc, r);
- }
- else // !pushed
- {
- if ( selected )
- {
- DrawRect(hdc, r);
-
- InflateRect(&r, -1, -1);
- }
-
- MoveToEx(hdc, r.left, r.bottom, NULL);
- LineTo(hdc, r.right, r.bottom);
- LineTo(hdc, r.right, r.top - 1);
-
- (void)SelectObject(hdc, hpenWhite);
- MoveToEx(hdc, r.left, r.bottom - 1, NULL);
- LineTo(hdc, r.left, r.top);
- LineTo(hdc, r.right, r.top);
-
- (void)SelectObject(hdc, hpenLightGr);
- MoveToEx(hdc, r.left + 1, r.bottom - 2, NULL);
- LineTo(hdc, r.left + 1, r.top + 1);
- LineTo(hdc, r.right - 1, r.top + 1);
-
- (void)SelectObject(hdc, hpenGrey);
- MoveToEx(hdc, r.left + 1, r.bottom - 1, NULL);
- LineTo(hdc, r.right - 1, r.bottom - 1);
- LineTo(hdc, r.right - 1, r.top);
- }
-
- (void)SelectObject(hdc, hpenOld);
- DeleteObject(hpenWhite);
- DeleteObject(hpenLightGr);
- DeleteObject(hpenGrey);
- DeleteObject(hpenBlack);