--- C:/temp/upp/PushCtrl.h Mon Apr 21 23:11:04 2008 +++ C:/Programmi/upp/uppsrc/CtrlLib/PushCtrl.h Sat Jun 07 22:11:36 2008 @@ -264,6 +264,7 @@ Vector posx; int linecy; int light; + int minimumcy; int GetIndex() const; int GetIndex(Point p); @@ -283,6 +284,8 @@ Switch& Set(int i, const Value& val); Switch& Add(const Value& val, const char *text); Switch& Add(const char *text); + Switch& SetMinSpacing(int spacing); + int GetMinSpacing() const { return minimumcy; } void EnableCase(int i, bool enable = true); void DisableCase(int i) { EnableCase(i, false); } --- C:/temp/upp/Switch.cpp Mon Apr 21 23:11:10 2008 +++ C:/Programmi/upp/uppsrc/CtrlLib/Switch.cpp Sat Jun 07 22:12:45 2008 @@ -155,7 +155,7 @@ if(!IsTransparent()) w.DrawRect(0, 0, sz.cx, sz.cy, SColorFace); int tcy = GetTextSize("W", font).cy; - linecy = max(16, tcy + 2); + linecy = max(minimumcy, max(16, tcy + 2)); int y = 0; int x = 0; int ty = (linecy - tcy) / 2; @@ -305,8 +305,15 @@ pushindex = -1; } +Switch& Switch::SetMinSpacing(int spacing) { + minimumcy = spacing; + Refresh(); + return *this; +} + Switch::Switch() { linecy = 16; + minimumcy = 0; Transparent(); NoInitFocus(); }