Export (0) Print
Expand All

Metafile.PlayRecord Method

Plays an individual metafile record.

Namespace: System.Drawing.Imaging
Assembly: System.Drawing (in system.drawing.dll)

public void PlayRecord (
	EmfPlusRecordType recordType,
	int flags,
	int dataSize,
	byte[] data
)
public void PlayRecord (
	EmfPlusRecordType recordType, 
	int flags, 
	int dataSize, 
	byte[] data
)
public function PlayRecord (
	recordType : EmfPlusRecordType, 
	flags : int, 
	dataSize : int, 
	data : byte[]
)
Not applicable.

Parameters

recordType

Element of the EmfPlusRecordType that specifies the type of metafile record being played.

flags

A set of flags that specify attributes of the record.

dataSize

The number of bytes in the record data.

data

An array of bytes that contains the record data.

The following code example demonstrates how to use the PlayRecord method.


using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;

// for Marshal.Copy
using System.Runtime.InteropServices; 

public class Form1 : Form
{
    private Metafile metafile1;
    private Graphics.EnumerateMetafileProc metafileDelegate;
    private Point destPoint;
    public Form1()
    {
        metafile1 = new Metafile(@"C:\Test.wmf");
        metafileDelegate = new Graphics.EnumerateMetafileProc(MetafileCallback);
        destPoint = new Point(20, 10);
    }
    protected override void OnPaint(PaintEventArgs e)
    {
        e.Graphics.EnumerateMetafile(metafile1, destPoint, metafileDelegate);
    }
    private bool MetafileCallback(
       EmfPlusRecordType recordType,
       int flags,
       int dataSize,
       IntPtr data,
       PlayRecordCallback callbackData)
    {
        byte[] dataArray = null;
        if (data != IntPtr.Zero)
        {
            // Copy the unmanaged record to a managed byte buffer 
            // that can be used by PlayRecord.
            dataArray = new byte[dataSize];
            Marshal.Copy(data, dataArray, 0, dataSize);
        }

        metafile1.PlayRecord(recordType, flags, dataSize, dataArray);

        return true;
    }

    static void Main()
    {
        Application.Run(new Form1());
    }
}

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft