The main Outlook window will have a caption such as "Inbox - Microsoft
Outlook" and a class name of "rctrl_renwnd32". You can use FindWindow() to
get the hWnd for that window, and FindWindowEx() to locate the child windows
under that. Spy++ will be your friend there. Explorer.Caption will get you
the window caption.
Any icons you add to the folder view or individual items will need to
overlay your icons to the child windows but in most cases you can't get
below the supergrid or other control that's displaying everything to drill
down to the individual items and their locations on the screen. That's
something you're going to have to work out on your own.
The view cannot be queried as to what items it's showing. The Items
collection of the folder includes everything, whether or not it's shown in
the view. Selection only gives you a collection of what's selected, not
everything being viewed. You'd have to grab the view filter and use that to
restrict the Items collection of the folder to approximate what's shown in
the view.
Unfortunately the View.Filter property was added to the object model in
Outlook 2007 and isn't there in Outlook 2003 or earlier. The filter (if
there is one) for the view will be in DASL format using SQL syntax.
For Outlook 2003 or earlier you'd need to get the hidden item in the folder
that has a MessageClass of "IPM.Microsoft.FolderDesign.NamedView" and
iterate each such hidden item to find the one for the current view. Then
you'd need to find and decode the undocumented filter properties. Of course
depending on how the view is set up it could also be located in either the
hidden Views or Common Views folders too.
--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm
"squallcpp via OfficeKB.com" u53180@uwe wrote in message
news:990ac8ec45f8c@uwe...
Thanks for your replying.
The second is what I am want to do.
Here are the detail ideas.
1,Add a status icon just next the mail sender or (receiver).when you open
a
mail item,user can see the contact presence
2, Add a custom field that has a picture in it for each contact item in a
specific view.
For the point one,I can insert a picture object via the interface
InsertObject of IRichEditOle.
while the point two,I cann't get and manipulate contact item in card view
mode.
besides,I listen the OnSelectionChange of interface ExplorerEvents, the
Outlook::Selection objects are Outlook::_ContactItem,while I want get the
HWND or something can manipulate its drawing.
Thanks for any suggestions.
squall