ListBox and Metafile Enum : ListBox « GUI Windows Form « C# / C Sharp






ListBox and Metafile Enum

ListBox and Metafile Enum
/*
GDI+ Programming in C# and VB .NET
by Nick Symmonds

Publisher: Apress
ISBN: 159059035X
*/

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;

namespace MetaEnum_c
{
    public class MetaEnum : System.Windows.Forms.Form
    {
        private System.ComponentModel.Container components = null;
        private System.Windows.Forms.ListBox LB;

        Metafile mf = new  Metafile("mymeta.emf");

        public MetaEnum()
        {
            InitializeComponent();
        }

        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null) 
                {
                    components.Dispose();
                }
            }
            mf.Dispose();
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
      this.LB = new System.Windows.Forms.ListBox();
      this.SuspendLayout();
      // 
      // LB
      // 
      this.LB.Location = new System.Drawing.Point(208, 232);
      this.LB.Name = "LB";
      this.LB.Size = new System.Drawing.Size(168, 121);
      this.LB.TabIndex = 1;
      // 
      // MetaEnum
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(392, 373);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                  this.LB});
      this.MaximizeBox = false;
      this.MinimizeBox = false;
      this.Name = "MetaEnum";
      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
      this.Text = "MetaEnum";
      this.Load += new System.EventHandler(this.MetaEnum_Load);
      this.ResumeLayout(false);

      }
        #endregion

        [STAThread]
        static void Main() 
        {
            Application.Run(new MetaEnum());
        }

    private void MetaEnum_Load(object sender, System.EventArgs e)
    {
    }

    protected override void OnPaint(PaintEventArgs e)
    {
      Graphics G = e.Graphics;
      G.EnumerateMetafile( mf, new Point( 50, 50 ), 
                   new Graphics.EnumerateMetafileProc(this.MetafileCallback) );

    }

    // Define callback method.
    private bool MetafileCallback( EmfPlusRecordType recordType, int flags, 
                                                 int dataSize, IntPtr data,
                                                 PlayRecordCallback callbackData)
    {
      LB.Items.Add(recordType);
      if ( dataSize > 0 )
      {
        byte[] D = new byte[dataSize];
        Marshal.Copy(data, D, 0, dataSize);
        mf.PlayRecord(recordType, flags, dataSize, D);
      }
      return true;
    }
    }
}


           
       








MetaEnum-c.zip( 1 k)

Related examples in the same category

1.Add new item to ListBox (text from TextBox) Add new item to ListBox (text from TextBox)
2.Remove item if one is selected from ListBoxRemove item if one is selected from ListBox
3.Clear all items in a ListBoxClear all items in a ListBox
4.ListBox selected Item changed eventListBox selected Item changed event
5.Add Object to ListBoxAdd Object to ListBox
6.List Box click eventList Box click event
7.Set TopIndex to auto scroll ListBoxSet TopIndex to auto scroll ListBox
8.Form with list, buttonForm with list, button
9.ListBox: font and imageListBox: font and image
10.CheckedListBox Demo 2CheckedListBox Demo 2
11.ListBox Demo 2ListBox Demo 2
12.ListBox ObjectsListBox Objects
13.Fill XML data to ListBox