A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Add-ins for Outlook
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Command bar button FaceID Icon



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old February 9th 06, 12:35 AM posted to microsoft.public.outlook.program_addins
donald
external usenet poster
 
Posts: 25
Default Command bar button FaceID Icon

'LoadPicture' is just not available in vb.net so how do i get round
this?

Donald

  #2  
Old February 9th 06, 03:05 AM posted to microsoft.public.outlook.program_addins
Josh Einstein
external usenet poster
 
Posts: 57
Default Command bar button FaceID Icon

Thaddaeus gave you an example of the only known way to do this in .NET. It's
the only way to get an IPictureDisp from a System.Drawing.Image object. Your
reply to him stated that you didn't want to use Copy/Paste but his example
showed you how to use Picture and Mask, not Copy/Paste.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


"donald" wrote in message
oups.com...
'LoadPicture' is just not available in vb.net so how do i get round
this?

Donald



  #3  
Old February 9th 06, 06:27 AM posted to microsoft.public.outlook.program_addins
Dmitry Streblechenko
external usenet poster
 
Posts: 2,116
Default Command bar button FaceID Icon

Also note that if you are using the Word editor, PasteFace is your only
option: IPicture object cannot be marshaled across thee process boundaries:
Word inspectors live in the ewinword.exe process space rather than
outlook.exe
Also note that you can save the clipboard contents before copying a bitmap
to the clipboard and restore it afterwards. Babelfish sample COM add-in
source code (url below) has a utility class to do that (Delphi) - see
uSaveClipboard.pas file.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Josh Einstein" wrote in message
...
Thaddaeus gave you an example of the only known way to do this in .NET.
It's the only way to get an IPictureDisp from a System.Drawing.Image
object. Your reply to him stated that you didn't want to use Copy/Paste
but his example showed you how to use Picture and Mask, not Copy/Paste.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


"donald" wrote in message
oups.com...
'LoadPicture' is just not available in vb.net so how do i get round
this?

Donald





  #4  
Old February 9th 06, 09:33 AM posted to microsoft.public.outlook.program_addins
Josh Einstein
external usenet poster
 
Posts: 57
Default Command bar button FaceID Icon

Be cautious about saving/restoring the clipboard contents because it can
have unintended side effects. For example, if the data object is a large
object on another machine (like in RDP) or in another process (like a 300mb
bitmap in photoshop) then you might introduce long unexpected blocks in your
application and spikes of memory use and the user will have no idea what is
going on since they didn't initiate a clipboard operation.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


"Dmitry Streblechenko" wrote in message
...
Also note that if you are using the Word editor, PasteFace is your only
option: IPicture object cannot be marshaled across thee process
boundaries: Word inspectors live in the ewinword.exe process space rather
than outlook.exe
Also note that you can save the clipboard contents before copying a bitmap
to the clipboard and restore it afterwards. Babelfish sample COM add-in
source code (url below) has a utility class to do that (Delphi) - see
uSaveClipboard.pas file.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Josh Einstein" wrote in message
...
Thaddaeus gave you an example of the only known way to do this in .NET.
It's the only way to get an IPictureDisp from a System.Drawing.Image
object. Your reply to him stated that you didn't want to use Copy/Paste
but his example showed you how to use Picture and Mask, not Copy/Paste.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


"donald" wrote in message
oups.com...
'LoadPicture' is just not available in vb.net so how do i get round
this?

Donald







  #5  
Old February 9th 06, 11:33 AM posted to microsoft.public.outlook.program_addins
donald
external usenet poster
 
Posts: 25
Default Command bar button FaceID Icon

I try very think in this topic but i still can't get it working. I
don;t want to use the copy and paste because the user will loss there
clipboard and if you try so save it, it could be 300mb as explain
above.

So could some one who got it working post there code up. The code i
have is:

Dim path As String = "C:\Visual Studio
Projects\DC\DMCRM\icons\AddTelephoneCall.ico"

Dim imgconv As ImageConverter
Dim img As System.Drawing.Image

img = System.Drawing.Image.FromFile(path)
Dim a As stdole.IPictureDisp =
imgconv.ImageToIPicDisp(img)

.Picture = a

Public Class ImageConverter
Inherits System.Windows.Forms.AxHost

Public Sub New(ByVal pGUID As String)
MyBase.New(pGUID)
End Sub

Public Shared Function ImageToIPicDisp(ByVal value As
System.Drawing.Image) As stdole.IPictureDisp
Return
System.Windows.Forms.AxHost.GetIPictureDispFromPic ture(value)
End Function

Public Shared Function IPicDispToImage(ByVal value As
stdole.IPictureDisp) As System.Drawing.Image
Return
System.Windows.Forms.AxHost.GetPictureFromIPicture Disp(CType(value,
Object))
End Function
End Class


the code get a error on this line ' .Picture = a'

any help please

Donald

  #6  
Old February 9th 06, 12:23 PM posted to microsoft.public.outlook.program_addins
Josh Einstein
external usenet poster
 
Posts: 57
Default Command bar button FaceID Icon

As far as I know, you have to use a bitmap type of image.
(System.Drawing.Bitmap) Not an icon.

--
Josh Einstein
Einstein Technologies
Microsoft Tablet PC MVP
Tablet Enhancements for Outlook 2.0 - Try it free for 14 days
www.tabletoutlook.com


"donald" wrote in message
oups.com...
I try very think in this topic but i still can't get it working. I
don;t want to use the copy and paste because the user will loss there
clipboard and if you try so save it, it could be 300mb as explain
above.

So could some one who got it working post there code up. The code i
have is:

Dim path As String = "C:\Visual Studio
Projects\DC\DMCRM\icons\AddTelephoneCall.ico"

Dim imgconv As ImageConverter
Dim img As System.Drawing.Image

img = System.Drawing.Image.FromFile(path)
Dim a As stdole.IPictureDisp =
imgconv.ImageToIPicDisp(img)

.Picture = a

Public Class ImageConverter
Inherits System.Windows.Forms.AxHost

Public Sub New(ByVal pGUID As String)
MyBase.New(pGUID)
End Sub

Public Shared Function ImageToIPicDisp(ByVal value As
System.Drawing.Image) As stdole.IPictureDisp
Return
System.Windows.Forms.AxHost.GetIPictureDispFromPic ture(value)
End Function

Public Shared Function IPicDispToImage(ByVal value As
stdole.IPictureDisp) As System.Drawing.Image
Return
System.Windows.Forms.AxHost.GetPictureFromIPicture Disp(CType(value,
Object))
End Function
End Class


the code get a error on this line ' .Picture = a'

any help please

Donald



  #7  
Old February 9th 06, 01:54 PM posted to microsoft.public.outlook.program_addins
donald
external usenet poster
 
Posts: 25
Default Command bar button FaceID Icon

this is a bitmap type of image.

I look in to this and i don;t think it is Converting the image to a
ImageToIPicDisp in the right way.

  #8  
Old February 9th 06, 05:25 PM posted to microsoft.public.outlook.program_addins
Thaddaeus Parker
external usenet poster
 
Posts: 17
Default Command bar button FaceID Icon

I did some research on what you were trying to do. According to a thread I
found at ureader.com. Ken Slovak said that IPictureDisp constraint is that
the image must be a 16x16 256 color BMP. Other wise you might get the error
that you are experiencing.

If I were you I would convert your .ico to a .bmp and try to run the program
again. Or, go ahead and add the image to a resource file inside your add-in
and use a resource manager to pull the appropriate image out of and then use
the IPictureDisp code that you already have to render the image on the
commandbar button.

It's an idea, for what it's worth

Thaddaeus.

http://support.microsoft.com/kb/288771
"donald" wrote in message
oups.com...
I try very think in this topic but i still can't get it working. I
don;t want to use the copy and paste because the user will loss there
clipboard and if you try so save it, it could be 300mb as explain
above.

So could some one who got it working post there code up. The code i
have is:

Dim path As String = "C:\Visual Studio
Projects\DC\DMCRM\icons\AddTelephoneCall.ico"

Dim imgconv As ImageConverter
Dim img As System.Drawing.Image

img = System.Drawing.Image.FromFile(path)
Dim a As stdole.IPictureDisp =
imgconv.ImageToIPicDisp(img)

.Picture = a

Public Class ImageConverter
Inherits System.Windows.Forms.AxHost

Public Sub New(ByVal pGUID As String)
MyBase.New(pGUID)
End Sub

Public Shared Function ImageToIPicDisp(ByVal value As
System.Drawing.Image) As stdole.IPictureDisp
Return
System.Windows.Forms.AxHost.GetIPictureDispFromPic ture(value)
End Function

Public Shared Function IPicDispToImage(ByVal value As
stdole.IPictureDisp) As System.Drawing.Image
Return
System.Windows.Forms.AxHost.GetPictureFromIPicture Disp(CType(value,
Object))
End Function
End Class


the code get a error on this line ' .Picture = a'

any help please

Donald



  #9  
Old February 9th 06, 05:41 PM posted to microsoft.public.outlook.program_addins
Thaddaeus Parker
external usenet poster
 
Posts: 17
Default Command bar button FaceID Icon

Here are a couple of VB style answers to your question and help your
quandry.

http://msdn.microsoft.com/library/de...ce05022002.asp

http://support.microsoft.com/?scid=k...d=2488&sid=251

Regards
Thaddaeus.
"Thaddaeus Parker" wrote in message
...
I did some research on what you were trying to do. According to a thread I
found at ureader.com. Ken Slovak said that IPictureDisp constraint is that
the image must be a 16x16 256 color BMP. Other wise you might get the
error that you are experiencing.

If I were you I would convert your .ico to a .bmp and try to run the
program again. Or, go ahead and add the image to a resource file inside
your add-in and use a resource manager to pull the appropriate image out
of and then use the IPictureDisp code that you already have to render the
image on the commandbar button.

It's an idea, for what it's worth

Thaddaeus.

http://support.microsoft.com/kb/288771
"donald" wrote in message
oups.com...
I try very think in this topic but i still can't get it working. I
don;t want to use the copy and paste because the user will loss there
clipboard and if you try so save it, it could be 300mb as explain
above.

So could some one who got it working post there code up. The code i
have is:

Dim path As String = "C:\Visual Studio
Projects\DC\DMCRM\icons\AddTelephoneCall.ico"

Dim imgconv As ImageConverter
Dim img As System.Drawing.Image

img = System.Drawing.Image.FromFile(path)
Dim a As stdole.IPictureDisp =
imgconv.ImageToIPicDisp(img)

.Picture = a

Public Class ImageConverter
Inherits System.Windows.Forms.AxHost

Public Sub New(ByVal pGUID As String)
MyBase.New(pGUID)
End Sub

Public Shared Function ImageToIPicDisp(ByVal value As
System.Drawing.Image) As stdole.IPictureDisp
Return
System.Windows.Forms.AxHost.GetIPictureDispFromPic ture(value)
End Function

Public Shared Function IPicDispToImage(ByVal value As
stdole.IPictureDisp) As System.Drawing.Image
Return
System.Windows.Forms.AxHost.GetPictureFromIPicture Disp(CType(value,
Object))
End Function
End Class


the code get a error on this line ' .Picture = a'

any help please

Donald





 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
custom menu command Melissa m Outlook - Using Contacts 1 February 27th 06 08:27 PM
Custom icon superseded by tracking icon Vaughan Outlook - Using Forms 4 February 24th 06 01:47 PM
Outlook Shutdown - command line Pete Outlook - Installation 1 February 7th 06 09:28 PM
Outlook command-line switches Brad Nowlin Outlook - General Queries 1 January 27th 06 06:00 PM
Command button not working on read page jbtempe Outlook - Using Forms 2 January 14th 06 12:25 AM


All times are GMT +1. The time now is 11:43 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2025 Outlook Banter.
The comments are property of their posters.