# Resource

The Resource structure contains functions to load resources from a resource file. In many cases there are functions in other structures which will load the appropriate item from the resource file.

    structure Resource :
      sig
       datatype ResourceType =
            RT_CURSOR | RT_BITMAP | RT_ICON | RT_MENU | RT_DIALOG | RT_STRING | RT_FONTDIR |
            RT_FONT | RT_ACCELERATOR | RT_RCDATA | RT_MESSAGETABLE | RT_GROUP_CURSOR |
            RT_GROUP_ICON | RT_VERSION | RT_DLGINCLUDE | RT_ANICURSOR | RT_ANIICON |
            RT_PLUGPLAY | RT_VXD

        type HRSRC
        type HRSRCGLOBAL
        type HINSTANCE

        datatype RESID = IdAsInt of int | IdAsString of string
        val MAKEINTRESOURCE : int -> RESID

        type HUPDATE

        val BeginUpdateResource : string * bool -> HUPDATE
        val EndUpdateResource : HUPDATE * bool -> unit
        val FindResource : HINSTANCE * RESID * ResourceType -> HRSRC
        val FindResourceEx : HINSTANCE * ResourceType * RESID * Locale.LANGID -> HRSRC
        val FreeLibrary : HINSTANCE -> bool
        val LoadLibrary : string -> HINSTANCE
        val LoadResource : HINSTANCE * HRSRC -> HRSRCGLOBAL
        val LoadString : HINSTANCE * RESID -> string
        val LockResource : HRSRCGLOBAL -> Word8Vector.vector
        val SizeofResource : HINSTANCE * HRSRC -> int
        val UpdateResource :
           HUPDATE * ResourceType * RESID * Locale.LANGID * Word8Vector.vector option -> unit
      end