Wednesday, January 18, 2006

Whoops. Missed December. (Mumble, mumble, let's post something before January is over, mumble, mumble.)

Happy New Year everybody!

I try not to get too technical here, but I'm going to today, because I keep forgetting how to do this, despite my computer hacking skills. This post might end up being a future reminder to myself for the next time I forget. I've done this several times over the last few years and keep forgetting the specifics. When you forget things, you have to derive them from scratch and/or look stuff up here, there and everywhere all over again. And the documentation's not that helpful when you are able to find it, so here it is...

Here's how to make an ActiveX control fill Internet Explorer's window via HTML and get rid of all the "ugly" blank space around it and the silly useless scroll bar:
<BODY
BOTTOMMARGIN="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0"
SCROLL="no"
>
<OBJECT
ID="MyControlsHTMLID"
CLSID="CLSID:blahblah-blah-blah-blah-blahblahblah"
WIDTH="100%"
HEIGHT="100%"
>
<PARAM
NAME="MyPropName"
VALUE="String value for the custom property named MyPropName."
/>
</OBJECT>
</BODY>
Obviously, you'll have to replace the blahblah and the MyPropName with something useful.

And if you write your own ActiveX control using ATL, take this little piece of advice... Implement IPersistPropertyBag and add entries for any properties specifiable via "HTML param name/value pairs" as PROP_ENTRY lines in between BEGIN_PROP_MAP and END_PROP_MAP.

Wow. Now if I forget, I'll hopefully be able to find my own post with Google... ;)

Thanks for your patience. Less geek speak next time. That's a promise!