/*
MapInfo Products Knowledge Base
Product: MapX
Version: 3.x
Platform: All Win32 Platforms
Category: C++
Summary:
C++ sample code showing how to create a point and use the BitmapSymbols collection.
Question:
Is there any C++ sample code showing how to use the BitmapSymbols collection?
Answer:
This code, in the OnToolUsed event, will create a symbol feature in a layer called "Temp" using a bitmap symbol.
*/
if (ToolNum == MYTOOL_SYMBOL)
{
try
{
//create a new mapx point
CMapXPoint pt;
pt.CreateDispatch(pt.GetClsid());
//set the point's location to the mouse down coords
pt.Set(X1, Y1);
//create a new variant to pass to the AddFeature method
VARIANT p;
p.vt = VT_DISPATCH;
//set up the variant to refer to the point
p.pdispVal = pt.m_lpDispatch;
//create a new bitmapsymbols collection
CMapXBitmapSymbols bmps;
bmps.CreateDispatch(bmps.GetClsid());
//create a new style object like the MapX default
CMapXStyle sty = m_ctrlMapX.GetDefaultStyle().Clone();
//tell the style object a bitmap symbol is going to be used
sty.SetSymbolType(miSymbolTypeBitmap);
//set the new style's properties to a 24 point bitmap symbol
// I am arbitrarily choosing the fourth in the collection
sty.SetSymbolBitmapName(bmps.Item(3).GetName());
sty.SetSymbolBitmapSize(24);
//create a new variant to pass to the AddFeature method
VARIANT s;
s.vt = VT_DISPATCH;
//set up the variant to refer to our style object
s.pdispVal = sty.m_lpDispatch;
//finally, call the AddFeature method and pass it the variant
// parameters
CMapXFeature ftr = m_ctrlMapX.GetLayers().Item("Temp").AddFeature(m_ctrlMapX.GetFeatureFactory().CreateSymbol(p, s));
}
catch (COleDispatchException *e)
{
e->ReportError();
e->Delete();
}
catch (COleException *e)
{
e->ReportError();
e->Delete();
}
}
// Last Modified: 1999-04-09 14:52:47
MapInfo Products Knowledge Base
Product: MapX
Version: 3.x
Platform: All Win32 Platforms
Category: C++
Summary:
C++ sample code showing how to create a point and use the BitmapSymbols collection.
Question:
Is there any C++ sample code showing how to use the BitmapSymbols collection?
Answer:
This code, in the OnToolUsed event, will create a symbol feature in a layer called "Temp" using a bitmap symbol.
*/
if (ToolNum == MYTOOL_SYMBOL)
{
try
{
//create a new mapx point
CMapXPoint pt;
pt.CreateDispatch(pt.GetClsid());
//set the point's location to the mouse down coords
pt.Set(X1, Y1);
//create a new variant to pass to the AddFeature method
VARIANT p;
p.vt = VT_DISPATCH;
//set up the variant to refer to the point
p.pdispVal = pt.m_lpDispatch;
//create a new bitmapsymbols collection
CMapXBitmapSymbols bmps;
bmps.CreateDispatch(bmps.GetClsid());
//create a new style object like the MapX default
CMapXStyle sty = m_ctrlMapX.GetDefaultStyle().Clone();
//tell the style object a bitmap symbol is going to be used
sty.SetSymbolType(miSymbolTypeBitmap);
//set the new style's properties to a 24 point bitmap symbol
// I am arbitrarily choosing the fourth in the collection
sty.SetSymbolBitmapName(bmps.Item(3).GetName());
sty.SetSymbolBitmapSize(24);
//create a new variant to pass to the AddFeature method
VARIANT s;
s.vt = VT_DISPATCH;
//set up the variant to refer to our style object
s.pdispVal = sty.m_lpDispatch;
//finally, call the AddFeature method and pass it the variant
// parameters
CMapXFeature ftr = m_ctrlMapX.GetLayers().Item("Temp").AddFeature(m_ctrlMapX.GetFeatureFactory().CreateSymbol(p, s));
}
catch (COleDispatchException *e)
{
e->ReportError();
e->Delete();
}
catch (COleException *e)
{
e->ReportError();
e->Delete();
}
}
// Last Modified: 1999-04-09 14:52:47