namespace Upp; ctrl DropGrid { group "Input fields"; GetMinSize() { sz = GetTextSize("X"); sz.cy += 6; return sz; } GetStdSize() { sz = GetMinSize(); sz.cx *= 8; return sz; } Frame SetFrame = InsetFrame(); bool WantFocus = true; bool DisplayAll = false; bool NoHeader = false; bool Resizeable = true; bool ColorRows = false; bool DataAction = false; bool AlwaysDrop = false; bool DropEnter = false; bool Searching = true; bool NotNull = false; bool ClearButton = false; bool SetEditable = true @2 ? "Editable"; Text Tip; Paint(w) { r = GetRect(); DrawCtrlFrame(w, r, .SetFrame); w.DrawRect(r, :SWhite); n = r.bottom - r.top; DrawEdgeButton(w, RectC(r.right - n, r.top, n, n)); w.DrawImage((n - 7) / 2 + r.right - n, (n - 6) / 2 + r.top, "ClassicCtrlsImg::DA"); w.DrawText(3, (GetSize().cy - GetTextSize("", Arial(10)).cy) / 2, (.SetEditable ? "" : "R/O ") + "DropGrid", Arial(10), :SMagenta); } }