Property Value retrieval in OCX
SBERTRAN.US.ORACLE.COM -- SBERTRAN@us.oracle.com
Wednesday, September 25, 1996
Environment: VC++ 2.0, Windows 95
I am developing a common dialog OCX that contains properties, events, and
methods. I have a CDialog implementation for each common dialog in its own
file. The look and feel of these dialogs can be modified by changing the
values of certain properties, but I cannot figure out how to retrieve and set
the values of my properties from outside the COleControl class implementation.
If you've been there before, please let me know at the below e-mail address.
Many thanks in advance,
Shawn Bertrand, Developer
Oracle Corporation-OLAP Products Division
Fifth Floor, SouthWest Corner
200 Fifth Avenue | mail: sbertran@us.oracle.com
Waltham, MA 02154 | phone: (617) 768-5600 x7809
"If you drink, don't drive. Don't even putt." - Dean Martin
SBERTRAN.US.ORACLE.COM -- SBERTRAN@us.oracle.com
Friday, September 27, 1996
I hate to answer my own question, but I figured it out. Many thanks to Tom
Armstrong, I retrieved the following from the OLE Control FAQ at
http://www.sky.net/~toma/faqprop.htm#DDP (note the disclaimer at the end of
this message, retrieved from the site):
"You can also get a pointer to your COleControl derived class by using the
FromIDispatch method of CCmdTarget like this:
// Get the property page's IDispatch array
ULONG ulObjects;
LPDISPATCH* lpObjectArray = GetObjectArray( &ulObjects );
ASSERT( lpObjectArray != NULL );
// I'm assuming there is but one control, mine
LPDISPATCH lpControl = lpObjectArray[0];
// Get a pointer to the control object
CMyCtrl* pControl = (CMyCtrl*) CCmdTarget::FromIDispatch( lpControl );
// Call a public method in CMyCtrl
long x = pControl->SomeMethod( 100 );
Typical Disclaimer: This FAQ is copyright (c) 1996 by Tom Armstrong
(toma@sky.net). You have the right to copy and distribute this file in any way
you see fit as long as this paragraph is included with the distribution. No
warranties or claims are made as to the validity of the information contained
herein. So use it at your own risk..."
Shawn Bertrand, Developer
Oracle Corporation-OLAP Products Division
Fifth Floor, SouthWest Corner
200 Fifth Avenue | mail: sbertran@us.oracle.com
Waltham, MA 02154 | phone: (617) 768-5600 x7809
"If you drink, don't drive. Don't even putt." - Dean Martin
| Вернуться в корень Архива
|