I did like this, hope this helps
private void butSetSymStart_Click(object sender, EventArgs e)
{
miSymbol sym = new miSymbol();
sym.setSymbolStyle(rwNet.P2PStartSym);
_application.RunMapBasicCommand("run menu command " + dotNetMap.mapinfo.M_FORMAT_PICK_SYMBOL);
sym.setSymbolPropertiesFromCurrent();
rwNet.P2PStartSym = sym.makeSymbolCommand;
}
Note M_FORMAT_PICK_SYMBOL = 503 I had setup as defines.
I had create a class
namespace dotNetMap
{
public interface ImiSymbol
{
Int32 Symbol
{
get;
set;
}
Int32 Colour
{
get;
set;
}
Int32 Size
{
get;
set;
}
Int32 shapeFromCurrent
{
get;
}
Int32 sizeFromCurrent
{
get;
}
Int32 colourFromCurrent
{
get;
}
string makeSymbolCommand
{
get;
set;
}
}
public class miSymbol : mapinfo, ImiSymbol
{
internal Int32 m_Shape = 0;
internal Int32 m_Colour = 0;
internal Int32 m_Size = 0;
internal string m_MakeSymbolCommand = string.Empty;
public string makeSymbolCommand
{
set
{
m_MakeSymbolCommand = value;
}
get
{
return m_MakeSymbolCommand;
}
}
public Int32 Symbol
{
get
{
return m_Shape;
}
set
{
m_Shape = value;
}
}
public Int32 Colour
{
get
{
return m_Colour;
}
set
{
m_Colour = value;
}
}
public Int32 Size
{
get
{
return m_Size;
}
set
{
m_Size = value;
}
}
public Int32 shapeFromCurrent
{
get
{
string command = string.Format(@"StyleAttr(CurrentSymbol(),{0})", SYMBOL_CODE);
Int32 shape = Convert.ToInt32(Eval(command));
return shape;
}
}
public Int32 sizeFromCurrent
{
get
{
string command = string.Format(@"StyleAttr(CurrentSymbol(),{0})", SYMBOL_POINTSIZE);
Int32 size = Convert.ToInt32(Eval(command));
return size;
}
}
public Int32 colourFromCurrent
{
get
{
string command = string.Format(@"StyleAttr(CurrentSymbol(),{0})", SYMBOL_COLOR);
Int32 colour = Convert.ToInt32(Eval(command));
return colour;
}
}
public void setSymbolPropertiesFromCurrent()
{
m_Shape = shapeFromCurrent;
m_Size = sizeFromCurrent;
m_Colour = colourFromCurrent;
m_MakeSymbolCommand = string.Format("makesymbol({0},{1},{2})", m_Shape, m_Colour, m_Size);
//setSymbolStyle();
}
public void setSymbolStyle()
{
string command = string.Format("Set style symbol makesymbol({0},{1},{2})", m_Shape, m_Colour, m_Size);
Do(command);
}
public void setSymbolStyle(Int32 symbol, Int32 colour, Int32 size)
{
m_Shape = symbol;
m_Colour = colour;
m_Size = size;
setSymbolStyle();
}
public void setSymbolStyle(string makeSymbol)
{
m_MakeSymbolCommand = makeSymbol;
setSymbolStyleFromCommand();
}
public void setSymbolStyleFromCommand()
{
Do("Set style symbol " + m_MakeSymbolCommand);
}
}
}