with Interfaces;

package CLAW.Messages is
    --
    -- CLAW - Class Library for Ada and Windows.
    --
    -- This package contains a definition of Windows messages.
    -- This is an advanced user package.
    --
    -- Copyright 1996, R.R. Software, Inc.
    -- P.O. Box 1512, Madison WI  53701
    -- All rights reserved.
    -- Windows is a registered trademark of Microsoft.
    --
    -- Simplified for Demo.

    pragma Elaborate_Body; -- Insure that the body is elaborated before anyone
			   -- can call CLAW.

  type Message_Codes is new Interfaces.Unsigned_32;

  -- Window message codes
  Wm_Null             : constant Message_Codes := 16#000#;
  Wm_Create           : constant Message_Codes := 16#001#;
  Wm_Destroy          : constant Message_Codes := 16#002#;
  Wm_Move             : constant Message_Codes := 16#003#;
  Wm_Size             : constant Message_Codes := 16#005#;
  Wm_Activate         : constant Message_Codes := 16#006#;
  Wm_Setfocus         : constant Message_Codes := 16#007#;
  Wm_Killfocus        : constant Message_Codes := 16#008#;
  Wm_Enable           : constant Message_Codes := 16#00A#;
  Wm_Setredraw        : constant Message_Codes := 16#00B#;
  Wm_Settext          : constant Message_Codes := 16#00C#;
  Wm_Gettext          : constant Message_Codes := 16#00D#;
  Wm_Gettextlength    : constant Message_Codes := 16#00E#;
  Wm_Paint            : constant Message_Codes := 16#00F#;
  Wm_Close            : constant Message_Codes := 16#010#;
  Wm_Queryendsession  : constant Message_Codes := 16#011#;
  Wm_Quit             : constant Message_Codes := 16#012#;
  Wm_Queryopen        : constant Message_Codes := 16#013#;
  Wm_Erasebkgnd       : constant Message_Codes := 16#014#;
  Wm_Syscolorchange   : constant Message_Codes := 16#015#;
  Wm_Endsession       : constant Message_Codes := 16#016#;
  Wm_Showwindow       : constant Message_Codes := 16#018#;
  Wm_Ctlcolor         : constant Message_Codes := 16#019#;
  Wm_Wininichange     : constant Message_Codes := 16#01A#;
  Wm_Settingchange    : constant Message_Codes := 16#01A#; -- Alternative name
  Wm_Devmodechange    : constant Message_Codes := 16#01B#;
  Wm_Activateapp      : constant Message_Codes := 16#01C#;
  Wm_Fontchange       : constant Message_Codes := 16#01D#;
  Wm_Timechange       : constant Message_Codes := 16#01E#;
  Wm_Cancelmode       : constant Message_Codes := 16#01F#;
  Wm_Setcursor        : constant Message_Codes := 16#020#;
  Wm_Mouseactivate    : constant Message_Codes := 16#021#;
  Wm_Childactivate    : constant Message_Codes := 16#022#;
  Wm_Queuesync        : constant Message_Codes := 16#023#;
  Wm_Getminmaxinfo    : constant Message_Codes := 16#024#;
  Wm_Painticon        : constant Message_Codes := 16#026#;
  Wm_Iconerasebkgnd   : constant Message_Codes := 16#027#;
  Wm_Nextdlgctl       : constant Message_Codes := 16#028#;
  Wm_Spoolerstatus    : constant Message_Codes := 16#02A#;
  Wm_Drawitem         : constant Message_Codes := 16#02B#;
  Wm_Measureitem      : constant Message_Codes := 16#02C#;
  Wm_Deleteitem       : constant Message_Codes := 16#02D#;
  Wm_Vkeytoitem       : constant Message_Codes := 16#02E#;
  Wm_Chartoitem       : constant Message_Codes := 16#02F#;
  Wm_Setfont          : constant Message_Codes := 16#030#;
  Wm_Getfont          : constant Message_Codes := 16#031#;
  Wm_SetHotkey        : constant Message_Codes := 16#032#;
  Wm_GetHotkey        : constant Message_Codes := 16#033#;
  Wm_Querydragicon    : constant Message_Codes := 16#037#;
  Wm_Compareitem      : constant Message_Codes := 16#039#;
  Wm_Compacting       : constant Message_Codes := 16#041#;
  Wm_WindowPosChanging: constant Message_Codes := 16#046#;
  Wm_WindowPosChanged : constant Message_Codes := 16#047#;
  Wm_Power            : constant Message_Codes := 16#048#;
  Wm_CopyData         : constant Message_Codes := 16#04A#;
  Wm_CancelJournal    : constant Message_Codes := 16#04B#;
  Wm_Notify	      : constant Message_Codes := 16#04E#; -- Windows 4.0 and later only.
  Wm_InputLangChangeRequest: constant Message_Codes := 16#050#; -- Windows 4.0 and later only.
  Wm_InputLangChange  : constant Message_Codes := 16#051#; -- Windows 4.0 and later only.
  Wm_TCard	      : constant Message_Codes := 16#052#; -- Windows 4.0 and later only.
  Wm_Help	      : constant Message_Codes := 16#053#; -- Windows 4.0 and later only.
  Wm_UserChanged      : constant Message_Codes := 16#054#; -- Windows 4.0 and later only.
  Wm_NotifyFormat     : constant Message_Codes := 16#055#; -- Windows 4.0 and later only.
  Wm_ContextMenu      : constant Message_Codes := 16#07B#; -- Windows 4.0 and later only.
  Wm_StyleChanging    : constant Message_Codes := 16#07C#; -- Windows 4.0 and later only.
  Wm_StyleChanged     : constant Message_Codes := 16#07D#; -- Windows 4.0 and later only.
  Wm_DisplayChange    : constant Message_Codes := 16#07E#; -- Windows 4.0 and later only.
  Wm_GetIcon          : constant Message_Codes := 16#07F#; -- Windows 4.0 and later only.
  Wm_SetIcon          : constant Message_Codes := 16#080#; -- Windows 4.0 and later only.
  Wm_Nccreate         : constant Message_Codes := 16#081#;
  Wm_Ncdestroy        : constant Message_Codes := 16#082#;
  Wm_Nccalcsize       : constant Message_Codes := 16#083#;
  Wm_Nchittest        : constant Message_Codes := 16#084#;
  Wm_Ncpaint          : constant Message_Codes := 16#085#;
  Wm_Ncactivate       : constant Message_Codes := 16#086#;
  Wm_Getdlgcode       : constant Message_Codes := 16#087#;
  Wm_Ncmousemove      : constant Message_Codes := 16#0A0#;
  Wm_Nclbuttondown    : constant Message_Codes := 16#0A1#;
  Wm_Nclbuttonup      : constant Message_Codes := 16#0A2#;
  Wm_Nclbuttondblclk  : constant Message_Codes := 16#0A3#;
  Wm_Ncrbuttondown    : constant Message_Codes := 16#0A4#;
  Wm_Ncrbuttonup      : constant Message_Codes := 16#0A5#;
  Wm_Ncrbuttondblclk  : constant Message_Codes := 16#0A6#;
  Wm_Ncmbuttondown    : constant Message_Codes := 16#0A7#;
  Wm_Ncmbuttonup      : constant Message_Codes := 16#0A8#;
  Wm_Ncmbuttondblclk  : constant Message_Codes := 16#0A9#;
  Wm_Keyfirst         : constant Message_Codes := 16#100#;
  Wm_Keydown          : constant Message_Codes := 16#100#;
  Wm_Keyup            : constant Message_Codes := 16#101#;
  Wm_Char             : constant Message_Codes := 16#102#;
  Wm_Deadchar         : constant Message_Codes := 16#103#;
  Wm_Syskeydown       : constant Message_Codes := 16#104#;
  Wm_Syskeyup         : constant Message_Codes := 16#105#;
  Wm_Syschar          : constant Message_Codes := 16#106#;
  Wm_Sysdeadchar      : constant Message_Codes := 16#107#;
  Wm_Keylast          : constant Message_Codes := 16#108#;
  Wm_Ime_StartComposition:constant Message_Codes:=16#10D#; -- Windows 4.0 and later only.
  Wm_Ime_EndComposition:constant Message_Codes := 16#10E#; -- Windows 4.0 and later only.
  Wm_Ime_Composition  : constant Message_Codes := 16#10F#; -- Windows 4.0 and later only.
  Wm_Ime_Keylast      : constant Message_Codes := 16#10F#; -- Windows 4.0 and later only.
  Wm_Initdialog       : constant Message_Codes := 16#110#;
  Wm_Command          : constant Message_Codes := 16#111#;
  Wm_Syscommand       : constant Message_Codes := 16#112#;
  Wm_Timer            : constant Message_Codes := 16#113#;
  Wm_Hscroll          : constant Message_Codes := 16#114#;
  Wm_Vscroll          : constant Message_Codes := 16#115#;
  Wm_Initmenu         : constant Message_Codes := 16#116#;
  Wm_Initmenupopup    : constant Message_Codes := 16#117#;
  Wm_Menuselect       : constant Message_Codes := 16#11F#;
  Wm_Menuchar         : constant Message_Codes := 16#120#;
  Wm_Enteridle        : constant Message_Codes := 16#121#;
  Wm_CtlColorMsgBox   : constant Message_Codes := 16#132#;
  Wm_CtlColorEdit     : constant Message_Codes := 16#133#;
  Wm_CtlColorListBox  : constant Message_Codes := 16#134#;
  Wm_CtlColorBtn      : constant Message_Codes := 16#135#;
  Wm_CtlColorDlg      : constant Message_Codes := 16#136#;
  Wm_CtlColorScrollBar: constant Message_Codes := 16#137#;
  Wm_CtlColorStatic   : constant Message_Codes := 16#138#;
  Wm_Mousefirst       : constant Message_Codes := 16#200#;
  Wm_Mousemove        : constant Message_Codes := 16#200#;
  Wm_Lbuttondown      : constant Message_Codes := 16#201#;
  Wm_Lbuttonup        : constant Message_Codes := 16#202#;
  Wm_Lbuttondblclk    : constant Message_Codes := 16#203#;
  Wm_Rbuttondown      : constant Message_Codes := 16#204#;
  Wm_Rbuttonup        : constant Message_Codes := 16#205#;
  Wm_Rbuttondblclk    : constant Message_Codes := 16#206#;
  Wm_Mbuttondown      : constant Message_Codes := 16#207#;
  Wm_Mbuttonup        : constant Message_Codes := 16#208#;
  Wm_Mbuttondblclk    : constant Message_Codes := 16#209#;
  Wm_Mouselast        : constant Message_Codes := 16#209#;
  Wm_Parentnotify     : constant Message_Codes := 16#210#;
  Wm_EnterMenuLoop    : constant Message_Codes := 16#211#;
  Wm_ExitMenuLoop     : constant Message_Codes := 16#212#;
  Wm_NextMenu	      : constant Message_Codes := 16#213#; -- Windows 4.0 and later only.
  Wm_Sizing	      : constant Message_Codes := 16#214#; -- Windows 4.0 and later only.
  Wm_CaptureChanged   : constant Message_Codes := 16#215#; -- Windows 4.0 and later only.
  Wm_Moving	      : constant Message_Codes := 16#216#; -- Windows 4.0 and later only.
  Wm_PowerBroadcast   : constant Message_Codes := 16#218#; -- Windows 4.0 and later only.
  Wm_DeviceChange     : constant Message_Codes := 16#219#; -- Windows 4.0 and later only.
  Wm_Mdicreate        : constant Message_Codes := 16#220#;
  Wm_Mdidestroy       : constant Message_Codes := 16#221#;
  Wm_Mdiactivate      : constant Message_Codes := 16#222#;
  Wm_Mdirestore       : constant Message_Codes := 16#223#;
  Wm_Mdinext          : constant Message_Codes := 16#224#;
  Wm_Mdimaximize      : constant Message_Codes := 16#225#;
  Wm_Mditile          : constant Message_Codes := 16#226#;
  Wm_Mdicascade       : constant Message_Codes := 16#227#;
  Wm_Mdiiconarrange   : constant Message_Codes := 16#228#;
  Wm_Mdigetactive     : constant Message_Codes := 16#229#;
  Wm_Mdisetmenu       : constant Message_Codes := 16#230#;
  Wm_EnterSizeMove    : constant Message_Codes := 16#231#;
  Wm_ExitSizeMove     : constant Message_Codes := 16#232#;
  Wm_Dropfiles        : constant Message_Codes := 16#233#;
  Wm_MdiRefreshMenu   : constant Message_Codes := 16#234#;
  Wm_Ime_Setcontext   : constant Message_Codes := 16#281#; -- Windows 4.0 and later only.
  Wm_Ime_Notify	      : constant Message_Codes := 16#282#; -- Windows 4.0 and later only.
  Wm_Ime_Control      : constant Message_Codes := 16#283#; -- Windows 4.0 and later only.
  Wm_Ime_CompositionFull:constant Message_Codes:= 16#284#; -- Windows 4.0 and later only.
  Wm_Ime_Select	      : constant Message_Codes := 16#285#; -- Windows 4.0 and later only.
  Wm_Ime_Char	      : constant Message_Codes := 16#286#; -- Windows 4.0 and later only.
  Wm_Ime_Keydown      : constant Message_Codes := 16#290#; -- Windows 4.0 and later only.
  Wm_Ime_Keyup	      : constant Message_Codes := 16#291#; -- Windows 4.0 and later only.

  Wm_Cut              : constant Message_Codes := 16#300#;
  Wm_Copy             : constant Message_Codes := 16#301#;
  Wm_Paste            : constant Message_Codes := 16#302#;
  Wm_Clear            : constant Message_Codes := 16#303#;
  Wm_Undo             : constant Message_Codes := 16#304#;
  Wm_Renderformat     : constant Message_Codes := 16#305#;
  Wm_Renderallformats : constant Message_Codes := 16#306#;
  Wm_Destroyclipboard : constant Message_Codes := 16#307#;
  Wm_Drawclipboard    : constant Message_Codes := 16#308#;
  Wm_Paintclipboard   : constant Message_Codes := 16#309#;
  Wm_Vscrollclipboard : constant Message_Codes := 16#30A#;
  Wm_Sizeclipboard    : constant Message_Codes := 16#30B#;
  Wm_Askcbformatname  : constant Message_Codes := 16#30C#;
  Wm_Changecbchain    : constant Message_Codes := 16#30D#;
  Wm_Hscrollclipboard : constant Message_Codes := 16#30E#;
  Wm_Querynewpalette  : constant Message_Codes := 16#30F#;
  Wm_Paletteischanging: constant Message_Codes := 16#310#;
  Wm_Palettechanged   : constant Message_Codes := 16#311#;
  Wm_Hotkey           : constant Message_Codes := 16#312#;
  Wm_Print	      : constant Message_Codes := 16#317#; -- Windows 4.0 and later only.
  Wm_PrintClient      : constant Message_Codes := 16#318#; -- Windows 4.0 and later only.
  Wm_HandHeldFirst    : constant Message_Codes := 16#358#; -- Windows 4.0 and later only.
  Wm_HandHeldLast     : constant Message_Codes := 16#35F#; -- Windows 4.0 and later only.
  Wm_AFXFirst	      : constant Message_Codes := 16#360#; -- Windows 4.0 and later only.
  Wm_AFXLast	      : constant Message_Codes := 16#37F#; -- Windows 4.0 and later only.
  Wm_PenwinFirst      : constant Message_Codes := 16#380#;
  Wm_PenwinLast       : constant Message_Codes := 16#38F#;
  Wm_User             : constant Message_Codes := 16#400#;
  Wm_Appr             : constant Message_Codes :=16#8000#; -- Windows 4.0 and later only.

  -- Dialog messages
  Dm_GetDefId         : constant Message_Codes := Wm_User+0;
  Dm_SetDefId         : constant Message_Codes := Wm_User+1;
  Dm_Reposition       : constant Message_Codes := Wm_User+2; -- Windows 4.0 and later only.
  Psm_Pageinfo        : constant Message_Codes := Wm_User+100; -- Windows 4.0 and later only.
  Psm_Sheetinfo       : constant Message_Codes := Wm_User+101; -- Windows 4.0 and later only.

  -- Button control messages.
  Bm_Getcheck         : constant Message_Codes := 16#0F0#;
  Bm_Setcheck         : constant Message_Codes := 16#0F1#;
  Bm_Getstate         : constant Message_Codes := 16#0F2#;
  Bm_Setstate         : constant Message_Codes := 16#0F3#;
  Bm_Setstyle         : constant Message_Codes := 16#0F4#;
  Bm_Click            : constant Message_Codes := 16#0F5#; -- Windows 4.0 and later only.
  Bm_Getimage         : constant Message_Codes := 16#0F6#; -- Windows 4.0 and later only.
  Bm_Setimage         : constant Message_Codes := 16#0F7#; -- Windows 4.0 and later only.

  -- Static control messages.
  Stm_Seticon	      : constant Message_Codes := 16#170#;
  Stm_Geticon         : constant Message_Codes := 16#171#;
  Stm_Setimage	      : constant Message_Codes := 16#172#;
  Stm_Getimage        : constant Message_Codes := 16#173#;

  -- Tooltip control messages.
  Ttm_Activate		: constant Message_Codes := Wm_User +  1;
  Ttm_SetDelayTime	: constant Message_Codes := Wm_User +  3;
  Ttm_AddToolA		: constant Message_Codes := Wm_User +  4;
  Ttm_DelToolA		: constant Message_Codes := Wm_User +  5;
  Ttm_NewToolRectA	: constant Message_Codes := Wm_User +  6;
  Ttm_RelayEvent	: constant Message_Codes := Wm_User +  7;
  Ttm_GetToolInfoA	: constant Message_Codes := Wm_User +  8;
  Ttm_SetToolInfoA	: constant Message_Codes := Wm_User +  9;
  Ttm_HitTestA		: constant Message_Codes := Wm_User + 10;
  Ttm_GetTextA		: constant Message_Codes := Wm_User + 11;
  Ttm_UpdateTipTextA	: constant Message_Codes := Wm_User + 12;
  Ttm_GetToolCount	: constant Message_Codes := Wm_User + 13;
  Ttm_EnumToolsA	: constant Message_Codes := Wm_User + 14;
  Ttm_GetCurrentToolA	: constant Message_Codes := Wm_User + 15;
  Ttm_WindowFromPoint	: constant Message_Codes := Wm_User + 16;

  Ttm_AddToolW		: constant Message_Codes := Wm_User + 50;
  Ttm_DelToolW		: constant Message_Codes := Wm_User + 51;
  Ttm_NewToolRectW	: constant Message_Codes := Wm_User + 52;
  Ttm_GetToolInfoW	: constant Message_Codes := Wm_User + 53;
  Ttm_SetToolInfoW	: constant Message_Codes := Wm_User + 54;
  Ttm_HitTestW		: constant Message_Codes := Wm_User + 55;
  Ttm_GetTextW		: constant Message_Codes := Wm_User + 56;
  Ttm_UpdateTipTextW	: constant Message_Codes := Wm_User + 57;
  Ttm_EnumToolsW	: constant Message_Codes := Wm_User + 58;
  Ttm_GetCurrentToolW	: constant Message_Codes := Wm_User + 59;

end CLAW.Messages;