/**//* 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