property ExMenu.PictureDisplay as PictureDisplayEnum
Retrieves or sets a value that indicates the way how the picture is displayed.

TypeDescription
PictureDisplayEnum A PictureDisplayEnum expression that indicates how the picture is arranged on the control's background. 

The PictureDisplay property as no effect if the control's background has no picture assigned. Use the Picture property to put a picture on the control's background. Use the PictureDisplay property to arrange the picture on the background of a popup menu. Use the Picture property to load a picture on the drop down menu's background.

The following VB sample puts a picture on the control's background:

With ExMenu1
        .PictureDisplay = Tile
        .Picture = LoadPicture("c:\WinNT\Zapotec.bmp")
End With 

The following C++ sample puts a picture on the control's background:

IPictureDisp* pPicture = NULL;
if ( LoadPicture( "c:\\winnt\\zapotec.bmp", &pPicture ) )
{
	m_menu.SetPicture( pPicture );
	m_menu.SetPictureDisplay( 48 /*Tile*/ );
}

where the LoadPicture function gets the IPictureDisp from a file:

#include 
BOOL LoadPicture( LPCTSTR szFileName, IPictureDisp** ppPictureDisp )
{
	BOOL bResult = FALSE;
	if ( szFileName )
	{
		OFSTRUCT of;
		HANDLE hFile = NULL;;
#ifdef _UNICODE
		USES_CONVERSION;
		if ( (hFile = (HANDLE)OpenFile( W2A(szFileName), &of, OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR )
#else
		if ( (hFile = (HANDLE)OpenFile( szFileName, &of, OF_READ | OF_SHARE_COMPAT)) != (HANDLE)HFILE_ERROR )
#endif
		{
			*ppPictureDisp = NULL;
			DWORD dwHighWord = NULL, dwSizeLow = GetFileSize( hFile, &dwHighWord );
			DWORD dwFileSize = dwSizeLow;
			HRESULT hResult = NULL;
			if ( HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize) )
				if ( void* pvData = GlobalLock( hGlobal ) )
				{
					DWORD dwReadBytes = NULL;
					BOOL bRead = ReadFile( hFile, pvData, dwFileSize, &dwReadBytes, NULL );
					GlobalUnlock( hGlobal );
					if ( bRead )
					{
						CComPtr spStream;
						_ASSERTE( dwFileSize == dwReadBytes );
						if ( SUCCEEDED( CreateStreamOnHGlobal( hGlobal, TRUE, &spStream) ) )
							if ( SUCCEEDED( hResult = OleLoadPicture( spStream, 0, FALSE, IID_IPictureDisp, (void**)ppPictureDisp ) ) )
								bResult = TRUE;
					}
				}
			CloseHandle( hFile );
		}
	}
	return bResult;
}

The following VB.NET sample puts a picture on the control's background:

With AxExMenu1
    .Picture = Image.FromFile("c:\winnt\zapotec.bmp")
    .PictureDisplay = EXMENULib.PictureDisplayEnum.Tile
End With

The following C# sample puts a picture on the control's background:

axExMenu1.Picture = Image.FromFile("c:\\winnt\\zapotec.bmp");
axExMenu1.PictureDisplay = EXMENULib.PictureDisplayEnum.Tile;

The following VFP sample puts a picture on the control's background:

With thisform.ExMenu1
        .PictureDisplay = 48 && Tile
        .Picture = LoadPicture("c:\WinNT\Zapotec.bmp")
EndWith