1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3
4<head>
5<title>Windows Interface Reference: Class structure</title>
6</head>
7
8<body>
9
10<h1>Class</h1>
11
12<p>The Class structure contains functions to register custom classes as well as the
13definitions for the standard Windows classes.</p>
14
15<p>&nbsp;</p>
16
17<pre>structure Class:
18sig
19    type HWND and Message and HINSTANCE and HBRUSH and HICON and HCURSOR and HGDIOBJ
20
21    datatype LRESULT = LRESINT of int | LRESHANDLE of HGDIOBJ
22
23    datatype 'a ATOM =
24        Registered of {proc: HWND * Message * 'a -&gt; LRESULT option * 'a, className: string}
25      | SystemClass of string
26
27    val Button : unit ATOM
28    val ComboBox : unit ATOM
29    val ComboLBox : unit ATOM
30    val DDEMLEvent : unit ATOM
31    val <a
32name="Edit">Edit</a> : unit ATOM
33    val ListBox : unit ATOM
34    val MDIClient : unit ATOM
35    val ScrollBar : unit ATOM
36    val Static : unit ATOM
37
38    structure Style :
39      sig
40	include BIT_FLAGS
41
42        val CS_BYTEALIGNCLIENT : flags
43        val CS_BYTEALIGNWINDOW : flags
44        val CS_CLASSDC : flags
45        val CS_DBLCLKS : flags
46        val CS_GLOBALCLASS : flags
47        val CS_HREDRAW : flags
48        val CS_KEYCVTWINDOW : flags
49        val CS_NOCLOSE : flags
50        val CS_NOKEYCVT : flags
51        val CS_OWNDC : flags
52        val CS_PARENTDC : flags
53        val CS_SAVEBITS : flags
54        val CS_VREDRAW : flags
55      end
56
57    type 'a WNDCLASSEX =
58        {style: Style.flags, 
59         wndProc: HWND * Message * 'a -&gt; LRESULT option * 'a,
60         hInstance: HINSTANCE,
61         hIcon: HICON option,
62         hCursor: HCURSOR option,
63         hbrBackGround: HBRUSH option,
64         menuName: Resource.RESID option,
65         className: string,
66         hIconSm: HICON option}
67
68    val <a
69name="RegisterClassEx">RegisterClassEx</a> : 'a WNDCLASSEX -&gt; 'a ATOM
70
71    val <a
72name="UnregisterClass">UnregisterClass</a> : string * HINSTANCE -&gt; unit
73    val GetClassName : HWND -&gt; string
74    val GetClassInfoEx: HINSTANCE * string -&gt; 'a WNDCLASSEX
75  end</pre>
76</body>
77</html>
78