CXLayerMan layerman = ctrlman.GetLayerMan();
CXUtility util = m_Map.GetUtility();
CXControlState ctrlstate = ctrlman.GetControlState();
CXPoint posLL = ctrlstate.GetLLCenter();
// Make Layer Style
CXLayerStyle style = layerman.NewStyle(200);
style.SetPen(util.RGBColor(0, 255, 0), 1, util.GetConstToValue(_T("PS_SOLID")));
style.SetBrush(util.RGBAColor(0, 255, 0, 100), util.GetConstToValue(_T("BS_SOLID")));
style.SetVisibleLevel(1, 0);
style.SetVisibleLevel(2, 0);
// Make Layer Polygon
CXLayer layer = layerman.FindLayer(100);
if (!layer) {
layer = layerman.NewLayer(100);
}
CXLayerPolygon polygon = layer2.NewPolygon(1);
polygon.BeginUpdate();
// 0: PolyLine, 1: Polygone
polygon.SetClosed(1);
polygon.SetStyle(style);
polygon.SetCanClick(0);
polygon.SetCanFocus(0);
polygon.AddPoint(posLL.GetX() + 100 ,posLL.GetY() + 100);
polygon.AddPoint(posLL.GetX() + 100 ,posLL.GetY() + 500);
polygon.AddPoint(posLL.GetX() + 500 ,posLL.GetY() + 500);
polygon.AddPoint(posLL.GetX() + 500 ,posLL.GetY() + 100);
polygon.EndUpdate();
CString msg;
msg.Format(_T("%d"),polygon.GetPointCount());
AfxMessageBox(msg);