+ wxRect rect;
+ GetFieldRect(i, rect);
+
+ if (rect.GetWidth() <= 0)
+ return; // happens when the status bar is shrinked in a very small area!
+
+ int style = m_panes[i].GetStyle();
+ if (style != wxSB_FLAT)
+ {
+ // Draw border
+ // For wxSB_NORMAL: paint a grey background, plus 3-d border (one black rectangle)
+ // Inside this, left and top sides (dark grey). Bottom and right (white).
+ // Reverse it for wxSB_RAISED
+
+ dc.SetPen((style == wxSB_RAISED) ? m_mediumShadowPen : m_hilightPen);
+
+#ifndef __WXPM__
+
+ // Right and bottom lines
+ dc.DrawLine(rect.x + rect.width, rect.y,
+ rect.x + rect.width, rect.y + rect.height);
+ dc.DrawLine(rect.x + rect.width, rect.y + rect.height,
+ rect.x, rect.y + rect.height);
+
+ dc.SetPen((style == wxSB_RAISED) ? m_hilightPen : m_mediumShadowPen);