

| Type | Description |
The following VB sample saves the control's content to a file:
Clipboard.Clear ChartView.Copy SavePicture Clipboard.GetData(), App.Path & "\test.emf"
Now, you can open your MS Windows Word application, and you can insert the file using the Insert\Picture\From File menu.
The following C++ function saves the clipboard's data ( EMF format ) to a picture file:
BOOL saveEMFtoFile( LPCTSTR szFileName )
{
BOOL bResult = FALSE;
if ( ::OpenClipboard( NULL ) )
{
CComPtr spPicture;
PICTDESC pictDesc = {0};
pictDesc.cbSizeofstruct = sizeof(pictDesc);
pictDesc.emf.hemf = (HENHMETAFILE)GetClipboardData( CF_ENHMETAFILE );
pictDesc.picType = PICTYPE_ENHMETAFILE;
if ( SUCCEEDED( OleCreatePictureIndirect( &pictDesc, IID_IPicture, FALSE, (LPVOID*)&spPicture ) ) )
{
HGLOBAL hGlobal = NULL;
CComPtr spStream;
if ( SUCCEEDED( CreateStreamOnHGlobal( hGlobal = GlobalAlloc( GPTR, 0 ), TRUE, &spStream ) ) )
{
long dwSize = NULL;
if ( SUCCEEDED( spPicture->SaveAsFile( spStream, TRUE, &dwSize ) ) )
{
USES_CONVERSION;
HANDLE hFile = CreateFile( szFileName, GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS, NULL, NULL );
if ( hFile != INVALID_HANDLE_VALUE )
{
LARGE_INTEGER l = {NULL};
spStream->Seek(l, STREAM_SEEK_SET, NULL);
long dwWritten = NULL;
while ( dwWritten < dwSize )
{
unsigned long dwRead = NULL;
BYTE b[10240] = {0};
spStream->Read( &b, 10240, &dwRead );
DWORD dwBWritten = NULL;
WriteFile( hFile, b, dwRead, &dwBWritten, NULL );
dwWritten += dwBWritten;
}
CloseHandle( hFile );
bResult = TRUE;
}
}
}
}
CloseClipboard();
}
return bResult;
}
The following VB.NET sample copies the control's content to the clipboard ( open the mspaint application and paste the clipboard, after running the following code ):
Clipboard.Clear()
With AxChartView1
.Copy()
End With
The following C# sample copies the control's content to a file ( open the mspaint application and paste the clipboard, after running the following code ):
Clipboard.Clear; axChartView1.Copy();