-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.ComponentModel.IComponent.Ref is access;
with type MSSyst.IDisposable.Ref is access;
with type MSSyst.ComponentModel.ISynchronizeInvoke.Ref is access;
with type MSSyst.Windows.Forms.IWin32Window.Ref is access;
with type MSSyst.EventHandler.Ref is access;
with type MSSyst.Windows.Forms.UICuesEventHandler.Ref is access;
with type MSSyst.Windows.Forms.ControlEventHandler.Ref is access;
with type MSSyst.Windows.Forms.DragEventHandler.Ref is access;
with type MSSyst.Windows.Forms.DrawItemEventHandler.Ref is access;
with type MSSyst.Windows.Forms.GiveFeedbackEventHandler.Ref is access;
with type MSSyst.Windows.Forms.HelpEventHandler.Ref is access;
with type MSSyst.Windows.Forms.InvalidateEventHandler.Ref is access;
with type MSSyst.Windows.Forms.KeyEventHandler.Ref is access;
with type MSSyst.Windows.Forms.KeyPressEventHandler.Ref is access;
with type MSSyst.Windows.Forms.LayoutEventHandler.Ref is access;
with type MSSyst.Windows.Forms.MeasureItemEventHandler.Ref is access;
with type MSSyst.Windows.Forms.MouseEventHandler.Ref is access;
with type MSSyst.Windows.Forms.PaintEventHandler.Ref is access;
with type MSSyst.Windows.Forms.QueryAccessibilityHelpEventHandler.Ref is access;
with type MSSyst.Windows.Forms.QueryContinueDragEventHandler.Ref is access;
with type MSSyst.ComponentModel.CancelEventHandler.Ref is access;
with type MSSyst.IAsyncResult.Ref is access;
with type MSSyst.Delegate.Ref is access;
with type MSSyst.Object.Ref_array is access;
with type MSSyst.Windows.Forms.Control.Ref is access;
with type MSSyst.Drawing.Graphics.Ref is access;
with type MSSyst.Runtime.Remoting.ObjRef.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.Windows.Forms.DragDropEffects;
with type MSSyst.Object.Ref is access;
with type MSSyst.Windows.Forms.Form.Ref is access;
with type MSSyst.String.Ref is access;
with type MSSyst.Windows.Forms.AccessibleObject.Ref is access;
with MSSyst.Windows.Forms.AccessibleRole;
with MSSyst.Windows.Forms.AnchorStyles;
with type MSSyst.Drawing.Color.Valuetype is tagged;
with type MSSyst.Drawing.Image.Ref is access;
with type MSSyst.Windows.Forms.BindingContext.Ref is access;
with MSSyst.Windows.Forms.BorderStyle;
with type MSSyst.Drawing.Rectangle.Valuetype is tagged;
with type MSSyst.Drawing.Size.Valuetype is tagged;
with type MSSyst.ComponentModel.IContainer.Ref is access;
with type MSSyst.Windows.Forms.ContextMenu.Ref is access;
with type MSSyst.Windows.Forms.Control.ControlCollection.Ref is access;
with type MSSyst.Windows.Forms.Cursor.Ref is access;
with type MSSyst.Windows.Forms.ControlBindingsCollection.Ref is access;
with MSSyst.Windows.Forms.DockStyle;
with MSSyst.Windows.Forms.DrawMode;
with type MSSyst.Drawing.Font.Ref is access;
with MSSyst.Windows.Forms.ImeMode;
with type MSSyst.Windows.Forms.ListBox.ObjectCollection.Ref is access;
with type MSSyst.Drawing.Point.Valuetype is tagged;
with type MSSyst.Drawing.Region.Ref is access;
with MSSyst.Windows.Forms.RightToLeft;
with type MSSyst.Windows.Forms.ListBox.SelectedIndexCollection.Ref is access;
with type MSSyst.Windows.Forms.ListBox.SelectedObjectCollection.Ref is access;
with MSSyst.Windows.Forms.SelectionMode;
with type MSSyst.ComponentModel.ISite.Ref is access;
with type MSSyst.Windows.Forms.IWindowTarget.Ref is access;
with type MSSyst.Windows.Forms.IContainerControl.Ref is access;
with MSSyst.Windows.Forms.Message;
with MSSyst.Windows.Forms.BoundsSpecified;
with MSSyst.Windows.Forms.ListControl;
package MSSyst.Windows.Forms.ListBox is
   type Typ;
   type Ref is access all Typ'Class;
   type Ref_addrof is access all Ref;
   type Ref_Arr is array(Natural range <>) of Ref;
   type Ref_Array is access all Ref_Arr;
   type Ref_Array_addrof is access all Ref_Array;
   type Typ(
         I_IComponent : MSSyst.ComponentModel.IComponent.Ref;
         I_IDisposable : MSSyst.IDisposable.Ref;
         I_ISynchronizeInvoke : MSSyst.ComponentModel.ISynchronizeInvoke.Ref;
         I_IWin32Window : MSSyst.Windows.Forms.IWin32Window.Ref
      ) is new MSSyst.Windows.Forms.ListControl.Typ(
         I_IComponent => I_IComponent,
         I_IDisposable => I_IDisposable,
         I_ISynchronizeInvoke => I_ISynchronizeInvoke,
         I_IWin32Window => I_IWin32Window
      ) with record
      null;
   end record;
   NoMatches : Integer;
   pragma Import(MSIL,NoMatches,"NoMatches");
   DefaultItemHeight : Integer;
   pragma Import(MSIL,DefaultItemHeight,"DefaultItemHeight");
   function new_ListBox(
      This : Ref := null) return Ref;
   procedure add_Click(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_DrawItem(
      This : access Typ;
      value : MSSyst.Windows.Forms.DrawItemEventHandler.Ref);
   procedure add_MeasureItem(
      This : access Typ;
      value : MSSyst.Windows.Forms.MeasureItemEventHandler.Ref);
   procedure add_Paint(
      This : access Typ;
      value : MSSyst.Windows.Forms.PaintEventHandler.Ref);
   procedure add_SelectedIndexChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure BeginUpdate(
      This : access Typ);
   procedure ClearSelected(
      This : access Typ);
   procedure EndUpdate(
      This : access Typ);
   function FindString(
      This : access Typ;
      s : MSSyst.String.Ref) return Integer;
   function FindString(
      This : access Typ;
      s : MSSyst.String.Ref;
      startIndex : Integer) return Integer;
   function FindStringExact(
      This : access Typ;
      s : MSSyst.String.Ref;
      startIndex : Integer) return Integer;
   function FindStringExact(
      This : access Typ;
      s : MSSyst.String.Ref) return Integer;
   function get_BackColor(
      This : access Typ) return MSSyst.Drawing.Color.Valuetype;
   function get_BackgroundImage(
      This : access Typ) return MSSyst.Drawing.Image.Ref;
   function get_BorderStyle(
      This : access Typ) return MSSyst.Windows.Forms.BorderStyle.Valuetype;
   function get_ColumnWidth(
      This : access Typ) return Integer;
   function get_DrawMode(
      This : access Typ) return MSSyst.Windows.Forms.DrawMode.Valuetype;
   function get_ForeColor(
      This : access Typ) return MSSyst.Drawing.Color.Valuetype;
   function get_HorizontalExtent(
      This : access Typ) return Integer;
   function get_HorizontalScrollbar(
      This : access Typ) return Standard.Boolean;
   function get_IntegralHeight(
      This : access Typ) return Standard.Boolean;
   function get_ItemHeight(
      This : access Typ) return Integer;
   function get_Items(
      This : access Typ) return MSSyst.Windows.Forms.ListBox.ObjectCollection.Ref;
   function get_MultiColumn(
      This : access Typ) return Standard.Boolean;
   function get_PreferredHeight(
      This : access Typ) return Integer;
   function get_RightToLeft(
      This : access Typ) return MSSyst.Windows.Forms.RightToLeft.Valuetype;
   function get_ScrollAlwaysVisible(
      This : access Typ) return Standard.Boolean;
   function get_SelectedIndex(
      This : access Typ) return Integer;
   function get_SelectedIndices(
      This : access Typ) return MSSyst.Windows.Forms.ListBox.SelectedIndexCollection.Ref;
   function get_SelectedItem(
      This : access Typ) return MSSyst.Object.Ref;
   function get_SelectedItems(
      This : access Typ) return MSSyst.Windows.Forms.ListBox.SelectedObjectCollection.Ref;
   function get_SelectionMode(
      This : access Typ) return MSSyst.Windows.Forms.SelectionMode.Valuetype;
   function get_Sorted(
      This : access Typ) return Standard.Boolean;
   function get_Text(
      This : access Typ) return MSSyst.String.Ref;
   function get_TopIndex(
      This : access Typ) return Integer;
   function get_UseTabStops(
      This : access Typ) return Standard.Boolean;
   function GetItemHeight(
      This : access Typ;
      index : Integer) return Integer;
   function GetItemRectangle(
      This : access Typ;
      index : Integer) return MSSyst.Drawing.Rectangle.Valuetype;
   function GetSelected(
      This : access Typ;
      index : Integer) return Standard.Boolean;
   function IndexFromPoint(
      This : access Typ;
      x : Integer;
      y : Integer) return Integer;
   function IndexFromPoint(
      This : access Typ;
      p : MSSyst.Drawing.Point.Valuetype) return Integer;
   procedure remove_Click(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_DrawItem(
      This : access Typ;
      value : MSSyst.Windows.Forms.DrawItemEventHandler.Ref);
   procedure remove_MeasureItem(
      This : access Typ;
      value : MSSyst.Windows.Forms.MeasureItemEventHandler.Ref);
   procedure remove_Paint(
      This : access Typ;
      value : MSSyst.Windows.Forms.PaintEventHandler.Ref);
   procedure remove_SelectedIndexChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure set_BackColor(
      This : access Typ;
      value : MSSyst.Drawing.Color.Valuetype);
   procedure set_BackgroundImage(
      This : access Typ;
      value : MSSyst.Drawing.Image.Ref);
   procedure set_BorderStyle(
      This : access Typ;
      value : MSSyst.Windows.Forms.BorderStyle.Valuetype);
   procedure set_ColumnWidth(
      This : access Typ;
      value : Integer);
   procedure set_DrawMode(
      This : access Typ;
      value : MSSyst.Windows.Forms.DrawMode.Valuetype);
   procedure set_ForeColor(
      This : access Typ;
      value : MSSyst.Drawing.Color.Valuetype);
   procedure set_HorizontalExtent(
      This : access Typ;
      value : Integer);
   procedure set_HorizontalScrollbar(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_IntegralHeight(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_ItemHeight(
      This : access Typ;
      value : Integer);
   procedure set_MultiColumn(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_RightToLeft(
      This : access Typ;
      value : MSSyst.Windows.Forms.RightToLeft.Valuetype);
   procedure set_ScrollAlwaysVisible(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_SelectedIndex(
      This : access Typ;
      value : Integer);
   procedure set_SelectedItem(
      This : access Typ;
      value : MSSyst.Object.Ref);
   procedure set_SelectionMode(
      This : access Typ;
      value : MSSyst.Windows.Forms.SelectionMode.Valuetype);
   procedure set_Sorted(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_Text(
      This : access Typ;
      value : MSSyst.String.Ref);
   procedure set_TopIndex(
      This : access Typ;
      value : Integer);
   procedure set_UseTabStops(
      This : access Typ;
      value : Standard.Boolean);
   procedure SetSelected(
      This : access Typ;
      index : Integer;
      value : Standard.Boolean);
   function ToString(
      This : access Typ) return MSSyst.String.Ref;
private
   pragma Convention(MSIL,Typ);
   pragma MSIL_Constructor(new_ListBox);
   pragma Import(MSIL,add_Click,"add_Click");
   pragma Import(MSIL,add_DrawItem,"add_DrawItem");
   pragma Import(MSIL,add_MeasureItem,"add_MeasureItem");
   pragma Import(MSIL,add_Paint,"add_Paint");
   pragma Import(MSIL,add_SelectedIndexChanged,"add_SelectedIndexChanged");
   pragma Import(MSIL,BeginUpdate,"BeginUpdate");
   pragma Import(MSIL,ClearSelected,"ClearSelected");
   pragma Import(MSIL,EndUpdate,"EndUpdate");
   pragma Import(MSIL,FindString,"FindString");
   pragma Import(MSIL,FindStringExact,"FindStringExact");
   pragma Import(MSIL,get_BackColor,"get_BackColor");
   pragma Import(MSIL,get_BackgroundImage,"get_BackgroundImage");
   pragma Import(MSIL,get_BorderStyle,"get_BorderStyle");
   pragma Import(MSIL,get_ColumnWidth,"get_ColumnWidth");
   pragma Import(MSIL,get_DrawMode,"get_DrawMode");
   pragma Import(MSIL,get_ForeColor,"get_ForeColor");
   pragma Import(MSIL,get_HorizontalExtent,"get_HorizontalExtent");
   pragma Import(MSIL,get_HorizontalScrollbar,"get_HorizontalScrollbar");
   pragma Import(MSIL,get_IntegralHeight,"get_IntegralHeight");
   pragma Import(MSIL,get_ItemHeight,"get_ItemHeight");
   pragma Import(MSIL,get_Items,"get_Items");
   pragma Import(MSIL,get_MultiColumn,"get_MultiColumn");
   pragma Import(MSIL,get_PreferredHeight,"get_PreferredHeight");
   pragma Import(MSIL,get_RightToLeft,"get_RightToLeft");
   pragma Import(MSIL,get_ScrollAlwaysVisible,"get_ScrollAlwaysVisible");
   pragma Import(MSIL,get_SelectedIndex,"get_SelectedIndex");
   pragma Import(MSIL,get_SelectedIndices,"get_SelectedIndices");
   pragma Import(MSIL,get_SelectedItem,"get_SelectedItem");
   pragma Import(MSIL,get_SelectedItems,"get_SelectedItems");
   pragma Import(MSIL,get_SelectionMode,"get_SelectionMode");
   pragma Import(MSIL,get_Sorted,"get_Sorted");
   pragma Import(MSIL,get_Text,"get_Text");
   pragma Import(MSIL,get_TopIndex,"get_TopIndex");
   pragma Import(MSIL,get_UseTabStops,"get_UseTabStops");
   pragma Import(MSIL,GetItemHeight,"GetItemHeight");
   pragma Import(MSIL,GetItemRectangle,"GetItemRectangle");
   pragma Import(MSIL,GetSelected,"GetSelected");
   pragma Import(MSIL,IndexFromPoint,"IndexFromPoint");
   pragma Import(MSIL,remove_Click,"remove_Click");
   pragma Import(MSIL,remove_DrawItem,"remove_DrawItem");
   pragma Import(MSIL,remove_MeasureItem,"remove_MeasureItem");
   pragma Import(MSIL,remove_Paint,"remove_Paint");
   pragma Import(MSIL,remove_SelectedIndexChanged,"remove_SelectedIndexChanged");
   pragma Import(MSIL,set_BackColor,"set_BackColor");
   pragma Import(MSIL,set_BackgroundImage,"set_BackgroundImage");
   pragma Import(MSIL,set_BorderStyle,"set_BorderStyle");
   pragma Import(MSIL,set_ColumnWidth,"set_ColumnWidth");
   pragma Import(MSIL,set_DrawMode,"set_DrawMode");
   pragma Import(MSIL,set_ForeColor,"set_ForeColor");
   pragma Import(MSIL,set_HorizontalExtent,"set_HorizontalExtent");
   pragma Import(MSIL,set_HorizontalScrollbar,"set_HorizontalScrollbar");
   pragma Import(MSIL,set_IntegralHeight,"set_IntegralHeight");
   pragma Import(MSIL,set_ItemHeight,"set_ItemHeight");
   pragma Import(MSIL,set_MultiColumn,"set_MultiColumn");
   pragma Import(MSIL,set_RightToLeft,"set_RightToLeft");
   pragma Import(MSIL,set_ScrollAlwaysVisible,"set_ScrollAlwaysVisible");
   pragma Import(MSIL,set_SelectedIndex,"set_SelectedIndex");
   pragma Import(MSIL,set_SelectedItem,"set_SelectedItem");
   pragma Import(MSIL,set_SelectionMode,"set_SelectionMode");
   pragma Import(MSIL,set_Sorted,"set_Sorted");
   pragma Import(MSIL,set_Text,"set_Text");
   pragma Import(MSIL,set_TopIndex,"set_TopIndex");
   pragma Import(MSIL,set_UseTabStops,"set_UseTabStops");
   pragma Import(MSIL,SetSelected,"SetSelected");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Windows.Forms.ListBox;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Windows.Forms.ListBox,
   ".ver 1:0:3300:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[System.Windows.Forms]System.Windows.Forms.ListBox");
