AX Containers & Controls
Chris Sells and I wrote "Extending ATL3.0 Containment to Help You Write Real-World Containers" in 12/99 issue of MSJ, which covers the VBLite container. Check it out.
History of updates:
Oct 99, I modified the VBLite container to implement text persistence on an XML file using Don Box's cool XML based PropertyBag implementation; in addition to the vanilla text persistence that it already had. Thanks, Don!
Nov 99, a) Replaced the OleUIInsertObject() dialog with a home cooked one. b) CAxHostWindow2T<> now implements IOleInPlaceSiteWindowless::GetDC() and IOleControlSite::TransformCoords() c)If the control does not have a ToolBoxBitmap32 or has its resource corrupted somehow<g> or has an icon instead of a bitmap, VBLite now shows a default bitmap in its control toolbox
ATL DEVCON '99 slides
Download the slides of my talk on "Robust Control Containment" at ATL DevCON 99
Download all (containment + others) the ATL DEVCON slides .
ATL Radio Button Control
The exclusivity of the Radio Button control can be decided by assigning the Value property of the RadioButton with OLE_OPTEXCLUSIVE which maps to the GUID_OPTIONVALUEEXCLUSIVE in the type information. The container must have UI for assigning the boundaries of the group of exclusive buttons. It then watches for a change in DISPID_VALUE through IPropertyNotifySink in each of these. When one control is checked, it forcibly unchecks whichever control was checked by changing that control's property. This control demonstrates this by implementing the Value property as a part of its dispinterface. Download the source .
VB Interface Finder control
Here's the ActiveX control which if you put it on the VB form will find out the supported (and of course registered) interfaces of all the sibling controls on the Form. It shows all the interfaces as a tooltip when you hover over any control on the form by hooking the "ToolTipText" extended property of the control. Check it out.
Long back I wrote an article in VCDJ on ATL controls called "ATL Control Questions You Always Wanted to Ask" . It contains a Typelib Browser control with a splitter bar. It shows the TypeInfo in the explorer like fashion.
This page and the source contained
in(or referred to) by this page are Copyright (c) 1998, Dharma Shukla.
All rights reserved. No warrenties extended. Use at your own risk.
Do send Comments/Bugs to me :-)