Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Add-ins for Outlook (http://www.outlookbanter.com/add-ins-outlook/)
-   -   How to add icon(or picture) field for each contact in contacts view (http://www.outlookbanter.com/add-ins-outlook/92575-how-add-icon-picture-field.html)

squallcpp via OfficeKB.com July 13th 09 04:16 AM

How to add icon(or picture) field for each contact in contacts view
 
Hello

Here what's I want to do. (outlook 2007)
First,Outlook-Contacts Folder-Current view =Address Cards ,then I want to
add a icon or picture into each contact item in Contacts Cards View.Normally,
we can add a User-defined fields via customize current view,while the field
type can not be a picture.

So,I trying to get the contact item handle in the Card View to find some
threads. The window class type of the Card View is "rctrl_renwnd32",while I
cann't get the its child control in it. Is there any way to get all the items
in the address(business) cards view?


thanks
squall

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...ddins/200907/1


Ken Slovak - [MVP - Outlook] July 13th 09 02:16 PM

How to add icon(or picture) field for each contact in contacts view
 
I'm not clear on what you want. Do you want to add a picture to the picture
field of each contact item, or do you want to add a custom field that has a
picture in it. For the first you'd use the ContactItem.AddPicture() method
and supply the image file path in that method. The second is not possible.

It's not possible to find what items are visible in a specific view. You'd
need to get the Items collection for the folder and deal with every item in
the folder.

That Windows class name applies to any Outlook window (except for WordMail
windows). It won't help you at all.

--
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:98fe281003073@uwe...
Hello

Here what's I want to do. (outlook 2007)
First,Outlook-Contacts Folder-Current view =Address Cards ,then I want
to
add a icon or picture into each contact item in Contacts Cards
View.Normally,
we can add a User-defined fields via customize current view,while the
field
type can not be a picture.

So,I trying to get the contact item handle in the Card View to find some
threads. The window class type of the Card View is "rctrl_renwnd32",while
I
cann't get the its child control in it. Is there any way to get all the
items
in the address(business) cards view?


thanks
squall

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...ddins/200907/1



squallcpp via OfficeKB.com July 14th 09 04:22 AM

How to add icon(or picture) field for each contact in contacts view
 
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


Ken Slovak - [MVP - Outlook] wrote:
I'm not clear on what you want. Do you want to add a picture to the picture
field of each contact item, or do you want to add a custom field that has a
picture in it. For the first you'd use the ContactItem.AddPicture() method
and supply the image file path in that method. The second is not possible.

It's not possible to find what items are visible in a specific view. You'd
need to get the Items collection for the folder and deal with every item in
the folder.

That Windows class name applies to any Outlook window (except for WordMail
windows). It won't help you at all.

Hello

[quoted text clipped - 16 lines]
thanks
squall


--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...ddins/200907/1


Ken Slovak - [MVP - Outlook] July 14th 09 02:56 PM

How to add icon(or picture) field for each contact in contacts view
 
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



squallcpp via OfficeKB.com July 17th 09 11:02 AM

How to add icon(or picture) field for each contact in contacts view
 
..
Hi,Ken
Thanks a lot for your suggestions.
this requirement is a little bit crazy,I am trying to find out which contacts
are showing in the current view window. the last solution I can used is to
hook the ExtTextOut API of gdi32.dll
For this feature,I remembered that the Plaxo for Outlook has implemented it,
I cann't find the picture now.Its add-in just add the image just nest the
contact display name .you can find the picture he
http://blog.plaxo.com/archives/2006/..._soon_pla.html


Thanks.
Tiger



Ken Slovak - [MVP - Outlook] wrote:
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.

Thanks for your replying.

[quoted text clipped - 17 lines]

squall


--
Message posted via http://www.officekb.com


squallcpp via OfficeKB.com July 17th 09 11:08 AM

How to add icon(or picture) field for each contact in contacts view
 
There is image after the contact "Bryan Lee",you can find on the second
picture on this blog

http://blog.plaxo.com/archives/2006/..._soon_pla.html

--squall

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...ddins/200907/1


Ken Slovak - [MVP - Outlook] July 17th 09 01:55 PM

How to add icon(or picture) field for each contact in contacts view
 
Plaxo, Xobni and any of the others that add things like that use Win32 API
calls and overlay their stuff on the Outlook window. You'd have to
experiment to get your code to do that

One possible such approach is outlined at
http://www.codeproject.com/KB/office...l_Outlook.aspx

--
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:99340b529447a@uwe...
There is image after the contact "Bryan Lee",you can find on the second
picture on this blog

http://blog.plaxo.com/archives/2006/..._soon_pla.html

--squall

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...ddins/200907/1




All times are GMT +1. The time now is 12:28 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com