At last, someone's gone and done it! Core Services have released anInline Search toolbar for Internet Explorer. It's lovely - just as nice as Firefox's find as you type toolbar.
It replaces the horrible modal find dialog with an explorer bar at the bottom of the screen. Start typing, and it does an incremental search. The text box turns red if it can't find it. Simple. Lovely. It's already changing the way I use IE, and it's only been installed 10 minutes! Lordy.
(Gosh, just noticed there's another one!)
Of course, this is one of those things that's been sat in the mile long list of Things I'd Like to Write If I Ever Get AnyTime - now I don't have to! But it reminded me of something that I had wanted to investigate when I did get round to it. I remember playing around with Browser Helper Objects and finding something interesting. Time for some good old fashioned COM spelunking...
When you open the find dialog in IE, you get a PropertyChanged event raised with the name "__IE_FindDialog". Getting this property reveals an IDispatch pointer. Dumping out the type info for this interface reveals DispHTMLWindow2. Which means that the find dialog is an HTML dialog. With an HTML DOM (you should be able to get it from DispHTMLWindow2->document). Once you've got the DOM, you can get or set the value of the text box.
All highly undocumented and probably not a good idea to use, but very interesting all the same.
And why is this useful? Well, I think this is part of the implementation of the NavigateAndFind method. I'm sure there was a search function somewhere (my memory fails me on this now) perhaps in an old IE version's search bar or the HTML Help viewer, that displayed a list of matched documents. When you selected the document, it was displayed, the search items were highlighted, and the find dialog was automatically populated with the search items, when it was displayed.
It would be nice to leverage this kind of thing in the inline search toolbar. When you search in IE, it stashes away the search terms so that the inline search bar could default to them when selected. Of course, setting them in a find dialog that's no longer used is a bit daft.
So, all in, a bit of esoteric, useless knowledge.
I had fun with this, anyway.
(Via Paul Thurott's Internet Nexus)