VBでピクチャボックスの中に表示されるイメージの座標を取得してタイトルバーに表示する

VBでピクチャボックスの座標を取得するのは簡単にできますが、ピクチャボックスの中に表示されるイメージの座標を取得するのは分からなかったので教えてもらった技法をメモしておきます。

referencesource.microsoft.com で、C#ですがイメージのサイズとピクチャーボックスのクライアントサイズから描画先を決定している箇所での計算式を下記のVBコードで再現しています。

Public Class Form1

  Public Shared flagMargin As Boolean = False

  Public Shared Function ImageRectangleFromSizeMode(pbox As PictureBox) As Rectangle
    Dim result As Rectangle = DeflateRect(pbox.ClientRectangle, pbox.Padding)
    If pbox.Image IsNot Nothing Then
      Select Case pbox.SizeMode

        Case PictureBoxSizeMode.Normal, PictureBoxSizeMode.AutoSize
          result.Size = pbox.Image.Size

        Case PictureBoxSizeMode.StretchImage

        Case PictureBoxSizeMode.CenterImage
          result.X += (result.Width - pbox.Image.Width) / 2
          result.Y += (result.Height - pbox.Image.Height) / 2
          result.Size = pbox.Image.Size

        Case PictureBoxSizeMode.Zoom
          Dim imageSize As Size = pbox.Image.Size
          Dim ratio As Single = Math.Min(pbox.ClientRectangle.Width / imageSize.Width,
                                     pbox.ClientRectangle.Height / imageSize.Height)

          If pbox.ClientRectangle.Width / imageSize.Width < pbox.ClientRectangle.Height / imageSize.Height Then
            flagMargin = True
          End If

          result.Width = imageSize.Width * ratio
          result.Height = imageSize.Height * ratio
          result.X = (pbox.ClientRectangle.Width - result.Width) / 2
          result.Y = (pbox.ClientRectangle.Height - result.Height) / 2
      End Select
    End If
    Return result
  End Function

  Private Shared Function DeflateRect(rect As Rectangle, padding As Padding) As Rectangle
    rect.X += padding.Left
    rect.Y += padding.Top
    rect.Width -= padding.Horizontal
    rect.Height -= padding.Vertical

    Return rect
  End Function

  Private Sub PictureBox1_LocationChanged(sender As Object, e As EventArgs) Handles PictureBox1.LocationChanged
    Dim pbox As PictureBox = DirectCast(sender, PictureBox)

    Func(pbox)

    Dim r As Rectangle = ImageRectangleFromSizeMode(pbox)
    Me.Text = RectangleToClient(pbox.RectangleToScreen(r)).ToString()
    FuncPictureBoxOverFix(RectangleToClient(pbox.RectangleToScreen(r)))

  End Sub

  <System.Runtime.InteropServices.DllImport("User32.dll")>
  Private Shared Function SendMessage(hWnd As IntPtr, uMsg As Integer, wParam As IntPtr, lParam As IntPtr) As IntPtr
  End Function

  <System.Runtime.InteropServices.DllImport("User32.dll")>
  Private Shared Function SetCapture(hwnd As Integer) As Boolean
  End Function

  <System.Runtime.InteropServices.DllImport("User32.dll")>
  Private Shared Function ReleaseCapture() As Boolean
  End Function

  Private Const WM_SYSCOMMAND As Integer = &H112
  Private Const SC_MOVE As Integer = &HF010

  Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown
    Dim pbox As PictureBox = DirectCast(sender, PictureBox)
    SetCapture(pbox.Handle)
    ReleaseCapture()
    SendMessage(pbox.Handle, WM_SYSCOMMAND, SC_MOVE Or 2, 0)
  End Sub

  Sub Func(pbox As PictureBox)
    Dim x As Integer = pbox.Left + pbox.Padding.Left + pbox.Margin.Left
    Dim y As Integer = pbox.Top + pbox.Padding.Top + pbox.Margin.Top

    TextBox1.Text = x
    TextBox2.Text = y
  End Sub

  Sub FuncPictureBoxOverFix(rect As Rectangle)

  End Sub

  Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
    Dim r As Rectangle = ImageRectangleFromSizeMode(Me.PictureBox1)
    FuncPictureBoxOverFix(RectangleToClient(PictureBox1.RectangleToScreen(r)))
  End Sub
End Class

VBでのListViewを仮想モードでサムネイル画像作成

Imports System.Threading

Public Class Form1

  Const thumbnailwidth As Integer = 50
  Const thumbnailheight As Integer = 40

  Private listitem As New List(Of ListViewItem)
  Private thumbnailCache As New Dictionary(Of String, Image)
  Private listlock As New Object
  Private cts As CancellationTokenSource
  Private cachetask As Task

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim imagelist1 As New ImageList
    imagelist1.ImageSize = New Size(thumbnailwidth, thumbnailheight)
    ListView1.LargeImageList = imagelist1
    ListView1.OwnerDraw = True
  End Sub


  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim imageDir As String = "C:\Users\user\Pictures" ' 画像ディレクトリ
    Dim jpgFiles As IEnumerable = System.IO.Directory.EnumerateFiles(imageDir, "*.jpg", IO.SearchOption.AllDirectories)

    'サムネイルキャッシュ作成中であればキャンセル
    If cachetask?.Status = TaskStatus.Running Then
      cts.Cancel()
      cachetask.Wait()
    End If

    listitem.Clear()
    thumbnailCache.Clear()

    For Each file As String In jpgFiles
      Dim item = New ListViewItem(file)
      listitem.Add(item)
    Next
    ListView1.VirtualMode = True
    ListView1.VirtualListSize = listitem.Count

    'キャッシュ作成開始
    CreateCache()
  End Sub

  Private Sub ListView1_RetrieveVirtualItem(sender As Object, e As RetrieveVirtualItemEventArgs) Handles ListView1.RetrieveVirtualItem
    If e.Item Is Nothing Then e.Item = listitem(e.ItemIndex)
  End Sub


  Function createThumbnail(filename As String) As Image
    Dim canvas As New Bitmap(thumbnailwidth, thumbnailheight)

    Using original = Bitmap.FromFile(filename)

      Using g As Graphics = Graphics.FromImage(canvas)
        Using WhiteBrush = New SolidBrush(Color.White)
          g.FillRectangle(WhiteBrush, 0, 0, thumbnailwidth, thumbnailheight)
        End Using

        Dim fw As Double = CDbl(thumbnailwidth) / CDbl(original.Width)
        Dim fh As Double = CDbl(thumbnailheight) / CDbl(original.Height)
        Dim scale As Double = Math.Min(fw, fh)

        Dim w2 As Integer = CInt(original.Width * scale)
        Dim h2 As Integer = CInt(original.Height * scale)

        g.DrawImage(original, (thumbnailwidth - w2) \ 2, (thumbnailheight - h2) \ 2, w2, h2)
      End Using
    End Using

    Return canvas
  End Function


  Private Sub CreateCache()
    cts = New CancellationTokenSource
    cachetask = Task.Factory.StartNew(Sub()
                                        Try

                                          For Each item In listitem
                                            If thumbnailCache.ContainsKey(item.Text) = False Then
                                              Dim thumbnail As Image = createThumbnail(item.Text)
                                              SyncLock listlock
                                                If thumbnailCache.ContainsKey(item.Text) = False Then
                                                  thumbnailCache.Add(item.Text, thumbnail)
                                                End If
                                              End SyncLock
                                              Threading.Thread.Sleep(0)
                                              cts.Token.ThrowIfCancellationRequested()
                                            End If
                                          Next

                                        Catch ex As OperationCanceledException
                                          Console.WriteLine("キャッシュ作成キャンセル")
                                        End Try

                                      End Sub, cts.Token)

  End Sub

  Private Sub ListView1_DrawItem(sender As Object, e As DrawListViewItemEventArgs) Handles ListView1.DrawItem
    Dim filiename As String = e.Item.Text
    Dim thumbnail As Image

    'サムネイルキャッシュに含まれている場合はキャッシュを
    'そうでない場合はサムネイルを作成、キャッシュに追加したのち描画する
    If thumbnailCache.ContainsKey(filiename) Then
      thumbnail = thumbnailCache(filiename)
    Else
      thumbnail = createThumbnail(filiename)
      SyncLock listlock
        If thumbnailCache.ContainsKey(filiename) = False Then
          thumbnailCache.Add(filiename, thumbnail)
        End If
      End SyncLock
    End If

    'アイテムの描画
    Dim imagerect As New Rectangle(New Point(e.Bounds.X + ((e.Bounds.Width - thumbnail.Width) / 2), e.Bounds.Y), New Size(thumbnail.Width, thumbnail.Height))

    e.DrawDefault = False
    e.DrawBackground()
    e.Graphics.DrawImage(thumbnail, imagerect)

    Dim stringFormat = New StringFormat()
    stringFormat.Alignment = StringAlignment.Center
    stringFormat.LineAlignment = StringAlignment.Center
    e.Graphics.DrawString(e.Item.Text, ListView1.Font, Brushes.Black, New RectangleF(e.Bounds.X, e.Bounds.Y + imagerect.Height + 5, e.Bounds.Width, e.Bounds.Height - imagerect.Height - 5), stringFormat)

    e.DrawFocusRectangle()
  End Sub

End Class

net(vb)のタイプ初期化子が例外をスローした時の対処法

bbs.wankuma.com

  Visual Studioデバッグ実行していれば、その例外が出た時点でブレイクされ、その例外がポップアップで表示されるかと思います。
詳細の表示からInnerExceptionのMessageとStackTraceを見て、何故発生したか、どこの何行目で発生したかを確認してみて下さい。

VB.netでwin32APIを送信したり受信する

Public Class Form1

  Private Const GWL_WNDPROC = -4
  Private Declare Function GetWindowLong Lib "user32.dll" _
      Alias "GetWindowLongA" (
      ByVal hwnd As Integer,
      ByVal nIndex As Integer) As Integer
  Private Declare Function SetWindowLong Lib "user32.dll" _
      Alias "SetWindowLongA" (
      ByVal hwnd As Integer,
      ByVal nIndex As Integer,
      ByVal dwNewLong As Integer) As Integer
  Private Declare Function SetWindowLong Lib "user32.dll" _
      Alias "SetWindowLongA" (
      ByVal hwnd As Integer,
      ByVal nIndex As Integer,
      ByVal dwNewLong As D_MyWndProc) As Integer
  Private Declare Function CallWindowProc Lib "user32.dll" _
      Alias "CallWindowProcA" (
      ByVal lpPrevWndFunc As Integer,
      ByVal hwnd As Integer,
      ByVal msg As Integer,
      ByVal wParam As Integer,
      ByVal lParam As Integer) As Integer
  Private Declare Function SendMessage Lib "user32.dll" _
      Alias "SendMessageA" (
      ByVal hwnd As Integer,
      ByVal msg As Integer,
      ByVal wParam As Integer,
      ByVal lParam As Integer) As Integer

  ' デフォルトWindowProc
  Private lngWnP As Integer

  ' デリゲート
  Private Delegate Function D_MyWndProc(
      ByVal hwnd As Integer,
      ByVal msg As Integer,
      ByVal wParam As Integer,
      ByVal lParam As Integer) As Integer

  Private DgWndProc As D_MyWndProc = Nothing

  Private Sub Form1_Load(
      ByVal sender As System.Object,
      ByVal e As System.EventArgs) _
      Handles MyBase.Load

    lngWnP = GetWindowLong(Me.Handle, GWL_WNDPROC)

    DgWndProc = AddressOf MyWndProc
    Call SetWindowLong(
        Me.Handle, GWL_WNDPROC, DgWndProc)
  End Sub

  Private Sub Form1_FormClosed(
      ByVal sender As System.Object,
      ByVal e As System.Windows.Forms.FormClosedEventArgs) _
      Handles MyBase.FormClosed

    Call SetWindowLong(Me.Handle, GWL_WNDPROC, lngWnP)
  End Sub

  Private Sub Timer1_Tick(
      ByVal sender As System.Object,
      ByVal e As System.EventArgs) _
      Handles Timer1.Tick

    SendMessage(Me.Handle, 9999, 0, 0)
  End Sub

  Private Function MyWndProc(
      ByVal hwnd As Integer,
      ByVal msg As Integer,
      ByVal wParam As Integer,
      ByVal lParam As Integer) As Integer

    Select Case msg
      Case 9999
        System.Diagnostics.Debug.WriteLine(
            Now & "メッセージを受信しました")
    End Select
    Return CallWindowProc(lngWnP, hwnd, msg, wParam, lParam)
  End Function
End Class

VBでAPIのメッセージを使うときの定数をメモ

List Of Windows Messages - WineHQ Wiki

Hex   Decimal   Symbolic
0000   0   WM_NULL
0001   1   WM_CREATE
0002   2   WM_DESTROY
0003   3   WM_MOVE
0005   5   WM_SIZE
0006   6   WM_ACTIVATE
0007   7   WM_SETFOCUS
0008   8   WM_KILLFOCUS
000a   10   WM_ENABLE
000b   11   WM_SETREDRAW
000c   12   WM_SETTEXT
000d   13   WM_GETTEXT
000e   14   WM_GETTEXTLENGTH
000f   15   WM_PAINT
0010   16   WM_CLOSE
0011   17   WM_QUERYENDSESSION
0012   18   WM_QUIT
0013   19   WM_QUERYOPEN
0014   20   WM_ERASEBKGND
0015   21   WM_SYSCOLORCHANGE
0016   22   WM_ENDSESSION
0018   24   WM_SHOWWINDOW
0019   25   WM_CTLCOLOR
001a   26   WM_WININICHANGE
001b   27   WM_DEVMODECHANGE
001c   28   WM_ACTIVATEAPP
001d   29   WM_FONTCHANGE
001e   30   WM_TIMECHANGE
001f   31   WM_CANCELMODE
0020   32   WM_SETCURSOR
0021   33   WM_MOUSEACTIVATE
0022   34   WM_CHILDACTIVATE
0023   35   WM_QUEUESYNC
0024   36   WM_GETMINMAXINFO
0026   38   WM_PAINTICON
0027   39   WM_ICONERASEBKGND
0028   40   WM_NEXTDLGCTL
002a   42   WM_SPOOLERSTATUS
002b   43   WM_DRAWITEM
002c   44   WM_MEASUREITEM
002d   45   WM_DELETEITEM
002e   46   WM_VKEYTOITEM
002f   47   WM_CHARTOITEM
0030   48   WM_SETFONT
0031   49   WM_GETFONT
0032   50   WM_SETHOTKEY
0033   51   WM_GETHOTKEY
0037   55   WM_QUERYDRAGICON
0039   57   WM_COMPAREITEM
003d   61   WM_GETOBJECT
0041   65   WM_COMPACTING
0044   68   WM_COMMNOTIFY
0046   70   WM_WINDOWPOSCHANGING
0047   71   WM_WINDOWPOSCHANGED
0048   72   WM_POWER
0049   73   WM_COPYGLOBALDATA
004a   74   WM_COPYDATA
004b   75   WM_CANCELJOURNAL
004e   78   WM_NOTIFY
0050   80   WM_INPUTLANGCHANGEREQUEST
0051   81   WM_INPUTLANGCHANGE
0052   82   WM_TCARD
0053   83   WM_HELP
0054   84   WM_USERCHANGED
0055   85   WM_NOTIFYFORMAT
007b   123   WM_CONTEXTMENU
007c   124   WM_STYLECHANGING
007d   125   WM_STYLECHANGED
007e   126   WM_DISPLAYCHANGE
007f   127   WM_GETICON
0080   128   WM_SETICON
0081   129   WM_NCCREATE
0082   130   WM_NCDESTROY
0083   131   WM_NCCALCSIZE
0084   132   WM_NCHITTEST
0085   133   WM_NCPAINT
0086   134   WM_NCACTIVATE
0087   135   WM_GETDLGCODE
0088   136   WM_SYNCPAINT
00a0   160   WM_NCMOUSEMOVE
00a1   161   WM_NCLBUTTONDOWN
00a2   162   WM_NCLBUTTONUP
00a3   163   WM_NCLBUTTONDBLCLK
00a4   164   WM_NCRBUTTONDOWN
00a5   165   WM_NCRBUTTONUP
00a6   166   WM_NCRBUTTONDBLCLK
00a7   167   WM_NCMBUTTONDOWN
00a8   168   WM_NCMBUTTONUP
00a9   169   WM_NCMBUTTONDBLCLK
00ab   171   WM_NCXBUTTONDOWN
00ac   172   WM_NCXBUTTONUP
00ad   173   WM_NCXBUTTONDBLCLK
00b0   176   EM_GETSEL
00b1   177   EM_SETSEL
00b2   178   EM_GETRECT
00b3   179   EM_SETRECT
00b4   180   EM_SETRECTNP
00b5   181   EM_SCROLL
00b6   182   EM_LINESCROLL
00b7   183   EM_SCROLLCARET
00b8   185   EM_GETMODIFY
00b9   187   EM_SETMODIFY
00ba   188   EM_GETLINECOUNT
00bb   189   EM_LINEINDEX
00bc   190   EM_SETHANDLE
00bd   191   EM_GETHANDLE
00be   192   EM_GETTHUMB
00c1   193   EM_LINELENGTH
00c2   194   EM_REPLACESEL
00c3   195   EM_SETFONT
00c4   196   EM_GETLINE
00c5   197   EM_LIMITTEXT
00c5   197   EM_SETLIMITTEXT
00c6   198   EM_CANUNDO
00c7   199   EM_UNDO
00c8   200   EM_FMTLINES
00c9   201   EM_LINEFROMCHAR
00ca   202   EM_SETWORDBREAK
00cb   203   EM_SETTABSTOPS
00cc   204   EM_SETPASSWORDCHAR
00cd   205   EM_EMPTYUNDOBUFFER
00ce   206   EM_GETFIRSTVISIBLELINE
00cf   207   EM_SETREADONLY
00d0   209   EM_SETWORDBREAKPROC
00d1   209   EM_GETWORDBREAKPROC
00d2   210   EM_GETPASSWORDCHAR
00d3   211   EM_SETMARGINS
00d4   212   EM_GETMARGINS
00d5   213   EM_GETLIMITTEXT
00d6   214   EM_POSFROMCHAR
00d7   215   EM_CHARFROMPOS
00d8   216   EM_SETIMESTATUS
00d9   217   EM_GETIMESTATUS
00e0   224   SBM_SETPOS
00e1   225   SBM_GETPOS
00e2   226   SBM_SETRANGE
00e3   227   SBM_GETRANGE
00e4   228   SBM_ENABLE_ARROWS
00e6   230   SBM_SETRANGEREDRAW
00e9   233   SBM_SETSCROLLINFO
00ea   234   SBM_GETSCROLLINFO
00eb   235   SBM_GETSCROLLBARINFO
00f0   240   BM_GETCHECK
00f1   241   BM_SETCHECK
00f2   242   BM_GETSTATE
00f3   243   BM_SETSTATE
00f4   244   BM_SETSTYLE
00f5   245   BM_CLICK
00f6   246   BM_GETIMAGE
00f7   247   BM_SETIMAGE
00f8   248   BM_SETDONTCLICK
00ff   255   WM_INPUT
0100   256   WM_KEYDOWN
0100   256   WM_KEYFIRST
0101   257   WM_KEYUP
0102   258   WM_CHAR
0103   259   WM_DEADCHAR
0104   260   WM_SYSKEYDOWN
0105   261   WM_SYSKEYUP
0106   262   WM_SYSCHAR
0107   263   WM_SYSDEADCHAR
0109   265   WM_UNICHAR / WM_KEYLAST
0109   265   WM_WNT_CONVERTREQUESTEX
010a   266   WM_CONVERTREQUEST
010b   267   WM_CONVERTRESULT
010c   268   WM_INTERIM
010d   269   WM_IME_STARTCOMPOSITION
010e   270   WM_IME_ENDCOMPOSITION
010f   271   WM_IME_COMPOSITION
010f   271   WM_IME_KEYLAST
0110   272   WM_INITDIALOG
0111   273   WM_COMMAND
0112   274   WM_SYSCOMMAND
0113   275   WM_TIMER
0114   276   WM_HSCROLL
0115   277   WM_VSCROLL
0116   278   WM_INITMENU
0117   279   WM_INITMENUPOPUP
0118   280   WM_SYSTIMER
011f   287   WM_MENUSELECT
0120   288   WM_MENUCHAR
0121   289   WM_ENTERIDLE
0122   290   WM_MENURBUTTONUP
0123   291   WM_MENUDRAG
0124   292   WM_MENUGETOBJECT
0125   293   WM_UNINITMENUPOPUP
0126   294   WM_MENUCOMMAND
0127   295   WM_CHANGEUISTATE
0128   296   WM_UPDATEUISTATE
0129   297   WM_QUERYUISTATE
0131   305   WM_LBTRACKPOINT
0132   306   WM_CTLCOLORMSGBOX
0133   307   WM_CTLCOLOREDIT
0134   308   WM_CTLCOLORLISTBOX
0135   309   WM_CTLCOLORBTN
0136   310   WM_CTLCOLORDLG
0137   311   WM_CTLCOLORSCROLLBAR
0138   312   WM_CTLCOLORSTATIC
0200   512   WM_MOUSEFIRST
0200   512   WM_MOUSEMOVE
0201   513   WM_LBUTTONDOWN
0202   514   WM_LBUTTONUP
0203   515   WM_LBUTTONDBLCLK
0204   516   WM_RBUTTONDOWN
0205   517   WM_RBUTTONUP
0206   518   WM_RBUTTONDBLCLK
0207   519   WM_MBUTTONDOWN
0208   520   WM_MBUTTONUP
0209   521   WM_MBUTTONDBLCLK
0209   521   WM_MOUSELAST
020a   522   WM_MOUSEWHEEL
020b   523   WM_XBUTTONDOWN
020c   524   WM_XBUTTONUP
020d   525   WM_XBUTTONDBLCLK
020e   526   WM_MOUSEHWHEEL
0210   528   WM_PARENTNOTIFY
0211   529   WM_ENTERMENULOOP
0212   530   WM_EXITMENULOOP
0213   531   WM_NEXTMENU
0214   532   WM_SIZING
0215   533   WM_CAPTURECHANGED
0216   534   WM_MOVING
0218   536   WM_POWERBROADCAST
0219   537   WM_DEVICECHANGE
0220   544   WM_MDICREATE
0221   545   WM_MDIDESTROY
0222   546   WM_MDIACTIVATE
0223   547   WM_MDIRESTORE
0224   548   WM_MDINEXT
0225   549   WM_MDIMAXIMIZE
0226   550   WM_MDITILE
0227   551   WM_MDICASCADE
0228   552   WM_MDIICONARRANGE
0229   553   WM_MDIGETACTIVE
0230   560   WM_MDISETMENU
0231   561   WM_ENTERSIZEMOVE
0232   562   WM_EXITSIZEMOVE
0233   563   WM_DROPFILES
0234   564   WM_MDIREFRESHMENU
0280   640   WM_IME_REPORT
0281   641   WM_IME_SETCONTEXT
0282   642   WM_IME_NOTIFY
0283   643   WM_IME_CONTROL
0284   644   WM_IME_COMPOSITIONFULL
0285   645   WM_IME_SELECT
0286   646   WM_IME_CHAR
0288   648   WM_IME_REQUEST
0290   656   WM_IMEKEYDOWN
0290   656   WM_IME_KEYDOWN
0291   657   WM_IMEKEYUP
0291   657   WM_IME_KEYUP
02a0   672   WM_NCMOUSEHOVER
02a1   673   WM_MOUSEHOVER
02a2   674   WM_NCMOUSELEAVE
02a3   675   WM_MOUSELEAVE
0300   768   WM_CUT
0301   769   WM_COPY
0302   770   WM_PASTE
0303   771   WM_CLEAR
0304   772   WM_UNDO
0305   773   WM_RENDERFORMAT
0306   774   WM_RENDERALLFORMATS
0307   775   WM_DESTROYCLIPBOARD
0308   776   WM_DRAWCLIPBOARD
0309   777   WM_PAINTCLIPBOARD
030a   778   WM_VSCROLLCLIPBOARD
030b   779   WM_SIZECLIPBOARD
030c   780   WM_ASKCBFORMATNAME
030d   781   WM_CHANGECBCHAIN
030e   782   WM_HSCROLLCLIPBOARD
030f   783   WM_QUERYNEWPALETTE
0310   784   WM_PALETTEISCHANGING
0311   785   WM_PALETTECHANGED
0312   786   WM_HOTKEY
0317   791   WM_PRINT
0318   792   WM_PRINTCLIENT
0319   793   WM_APPCOMMAND
0358   856   WM_HANDHELDFIRST
035f   863   WM_HANDHELDLAST
0360   864   WM_AFXFIRST
037f   895   WM_AFXLAST
0380   896   WM_PENWINFIRST
0381   897   WM_RCRESULT
0382   898   WM_HOOKRCRESULT
0383   899   WM_GLOBALRCCHANGE
0383   899   WM_PENMISCINFO
0384   900   WM_SKB
0385   901   WM_HEDITCTL
0385   901   WM_PENCTL
0386   902   WM_PENMISC
0387   903   WM_CTLINIT
0388   904   WM_PENEVENT
038f   911   WM_PENWINLAST
0400   1024   DDM_SETFMT
0400   1024   DM_GETDEFID
0400   1024   NIN_SELECT
0400   1024   TBM_GETPOS
0400   1024   WM_PSD_PAGESETUPDLG
0400   1024   WM_USER
0401   1025   CBEM_INSERTITEMA
0401   1025   DDM_DRAW
0401   1025   DM_SETDEFID
0401   1025   HKM_SETHOTKEY
0401   1025   PBM_SETRANGE
0401   1025   RB_INSERTBANDA
0401   1025   SB_SETTEXTA
0401   1025   TB_ENABLEBUTTON
0401   1025   TBM_GETRANGEMIN
0401   1025   TTM_ACTIVATE
0401   1025   WM_CHOOSEFONT_GETLOGFONT
0401   1025   WM_PSD_FULLPAGERECT
0402   1026   CBEM_SETIMAGELIST
0402   1026   DDM_CLOSE
0402   1026   DM_REPOSITION
0402   1026   HKM_GETHOTKEY
0402   1026   PBM_SETPOS
0402   1026   RB_DELETEBAND
0402   1026   SB_GETTEXTA
0402   1026   TB_CHECKBUTTON
0402   1026   TBM_GETRANGEMAX
0402   1026   WM_PSD_MINMARGINRECT
0403   1027   CBEM_GETIMAGELIST
0403   1027   DDM_BEGIN
0403   1027   HKM_SETRULES
0403   1027   PBM_DELTAPOS
0403   1027   RB_GETBARINFO
0403   1027   SB_GETTEXTLENGTHA
0403   1027   TBM_GETTIC
0403   1027   TB_PRESSBUTTON
0403   1027   TTM_SETDELAYTIME
0403   1027   WM_PSD_MARGINRECT
0404   1028   CBEM_GETITEMA
0404   1028   DDM_END
0404   1028   PBM_SETSTEP
0404   1028   RB_SETBARINFO
0404   1028   SB_SETPARTS
0404   1028   TB_HIDEBUTTON
0404   1028   TBM_SETTIC
0404   1028   TTM_ADDTOOLA
0404   1028   WM_PSD_GREEKTEXTRECT
0405   1029   CBEM_SETITEMA
0405   1029   PBM_STEPIT
0405   1029   TB_INDETERMINATE
0405   1029   TBM_SETPOS
0405   1029   TTM_DELTOOLA
0405   1029   WM_PSD_ENVSTAMPRECT
0406   1030   CBEM_GETCOMBOCONTROL
0406   1030   PBM_SETRANGE32
0406   1030   RB_SETBANDINFOA
0406   1030   SB_GETPARTS
0406   1030   TB_MARKBUTTON
0406   1030   TBM_SETRANGE
0406   1030   TTM_NEWTOOLRECTA
0406   1030   WM_PSD_YAFULLPAGERECT
0407   1031   CBEM_GETEDITCONTROL
0407   1031   PBM_GETRANGE
0407   1031   RB_SETPARENT
0407   1031   SB_GETBORDERS
0407   1031   TBM_SETRANGEMIN
0407   1031   TTM_RELAYEVENT
0408   1032   CBEM_SETEXSTYLE
0408   1032   PBM_GETPOS
0408   1032   RB_HITTEST
0408   1032   SB_SETMINHEIGHT
0408   1032   TBM_SETRANGEMAX
0408   1032   TTM_GETTOOLINFOA
0409   1033   CBEM_GETEXSTYLE
0409   1033   CBEM_GETEXTENDEDSTYLE
0409   1033   PBM_SETBARCOLOR
0409   1033   RB_GETRECT
0409   1033   SB_SIMPLE
0409   1033   TB_ISBUTTONENABLED
0409   1033   TBM_CLEARTICS
0409   1033   TTM_SETTOOLINFOA
040a   1034   CBEM_HASEDITCHANGED
040a   1034   RB_INSERTBANDW
040a   1034   SB_GETRECT
040a   1034   TB_ISBUTTONCHECKED
040a   1034   TBM_SETSEL
040a   1034   TTM_HITTESTA
040a   1034   WIZ_QUERYNUMPAGES
040b   1035   CBEM_INSERTITEMW
040b   1035   RB_SETBANDINFOW
040b   1035   SB_SETTEXTW
040b   1035   TB_ISBUTTONPRESSED
040b   1035   TBM_SETSELSTART
040b   1035   TTM_GETTEXTA
040b   1035   WIZ_NEXT
040c   1036   CBEM_SETITEMW
040c   1036   RB_GETBANDCOUNT
040c   1036   SB_GETTEXTLENGTHW
040c   1036   TB_ISBUTTONHIDDEN
040c   1036   TBM_SETSELEND
040c   1036   TTM_UPDATETIPTEXTA
040c   1036   WIZ_PREV
040d   1037   CBEM_GETITEMW
040d   1037   RB_GETROWCOUNT
040d   1037   SB_GETTEXTW
040d   1037   TB_ISBUTTONINDETERMINATE
040d   1037   TTM_GETTOOLCOUNT
040e   1038   CBEM_SETEXTENDEDSTYLE
040e   1038   RB_GETROWHEIGHT
040e   1038   SB_ISSIMPLE
040e   1038   TB_ISBUTTONHIGHLIGHTED
040e   1038   TBM_GETPTICS
040e   1038   TTM_ENUMTOOLSA
040f   1039   SB_SETICON
040f   1039   TBM_GETTICPOS
040f   1039   TTM_GETCURRENTTOOLA
0410   1040   RB_IDTOINDEX
0410   1040   SB_SETTIPTEXTA
0410   1040   TBM_GETNUMTICS
0410   1040   TTM_WINDOWFROMPOINT
0411   1041   RB_GETTOOLTIPS
0411   1041   SB_SETTIPTEXTW
0411   1041   TBM_GETSELSTART
0411   1041   TB_SETSTATE
0411   1041   TTM_TRACKACTIVATE
0412   1042   RB_SETTOOLTIPS
0412   1042   SB_GETTIPTEXTA
0412   1042   TB_GETSTATE
0412   1042   TBM_GETSELEND
0412   1042   TTM_TRACKPOSITION
0413   1043   RB_SETBKCOLOR
0413   1043   SB_GETTIPTEXTW
0413   1043   TB_ADDBITMAP
0413   1043   TBM_CLEARSEL
0413   1043   TTM_SETTIPBKCOLOR
0414   1044   RB_GETBKCOLOR
0414   1044   SB_GETICON
0414   1044   TB_ADDBUTTONSA
0414   1044   TBM_SETTICFREQ
0414   1044   TTM_SETTIPTEXTCOLOR
0415   1045   RB_SETTEXTCOLOR
0415   1045   TB_INSERTBUTTONA
0415   1045   TBM_SETPAGESIZE
0415   1045   TTM_GETDELAYTIME
0416   1046   RB_GETTEXTCOLOR
0416   1046   TB_DELETEBUTTON
0416   1046   TBM_GETPAGESIZE
0416   1046   TTM_GETTIPBKCOLOR
0417   1047   RB_SIZETORECT
0417   1047   TB_GETBUTTON
0417   1047   TBM_SETLINESIZE
0417   1047   TTM_GETTIPTEXTCOLOR
0418   1048   RB_BEGINDRAG
0418   1048   TB_BUTTONCOUNT
0418   1048   TBM_GETLINESIZE
0418   1048   TTM_SETMAXTIPWIDTH
0419   1049   RB_ENDDRAG
0419   1049   TB_COMMANDTOINDEX
0419   1049   TBM_GETTHUMBRECT
0419   1049   TTM_GETMAXTIPWIDTH
041a   1050   RB_DRAGMOVE
041a   1050   TBM_GETCHANNELRECT
041a   1050   TB_SAVERESTOREA
041a   1050   TTM_SETMARGIN
041b   1051   RB_GETBARHEIGHT
041b   1051   TB_CUSTOMIZE
041b   1051   TBM_SETTHUMBLENGTH
041b   1051   TTM_GETMARGIN
041c   1052   RB_GETBANDINFOW
041c   1052   TB_ADDSTRINGA
041c   1052   TBM_GETTHUMBLENGTH
041c   1052   TTM_POP
041d   1053   RB_GETBANDINFOA
041d   1053   TB_GETITEMRECT
041d   1053   TBM_SETTOOLTIPS
041d   1053   TTM_UPDATE
041e   1054   RB_MINIMIZEBAND
041e   1054   TB_BUTTONSTRUCTSIZE
041e   1054   TBM_GETTOOLTIPS
041e   1054   TTM_GETBUBBLESIZE
041f   1055   RB_MAXIMIZEBAND
041f   1055   TBM_SETTIPSIDE
041f   1055   TB_SETBUTTONSIZE
041f   1055   TTM_ADJUSTRECT
0420   1056   TBM_SETBUDDY
0420   1056   TB_SETBITMAPSIZE
0420   1056   TTM_SETTITLEA
0421   1057   MSG_FTS_JUMP_VA
0421   1057   TB_AUTOSIZE
0421   1057   TBM_GETBUDDY
0421   1057   TTM_SETTITLEW
0422   1058   RB_GETBANDBORDERS
0423   1059   MSG_FTS_JUMP_QWORD
0423   1059   RB_SHOWBAND
0423   1059   TB_GETTOOLTIPS
0424   1060   MSG_REINDEX_REQUEST
0424   1060   TB_SETTOOLTIPS
0425   1061   MSG_FTS_WHERE_IS_IT
0425   1061   RB_SETPALETTE
0425   1061   TB_SETPARENT
0426   1062   RB_GETPALETTE
0427   1063   RB_MOVEBAND
0427   1063   TB_SETROWS
0428   1064   TB_GETROWS
0429   1065   TB_GETBITMAPFLAGS
042a   1066   TB_SETCMDID
042b   1067   RB_PUSHCHEVRON
042b   1067   TB_CHANGEBITMAP
042c   1068   TB_GETBITMAP
042d   1069   MSG_GET_DEFFONT
042d   1069   TB_GETBUTTONTEXTA
042e   1070   TB_REPLACEBITMAP
042f   1071   TB_SETINDENT
0430   1072   TB_SETIMAGELIST
0431   1073   TB_GETIMAGELIST
0432   1074   TB_LOADIMAGES
0432   1074   EM_CANPASTE
0432   1074   TTM_ADDTOOLW
0433   1075   EM_DISPLAYBAND
0433   1075   TB_GETRECT
0433   1075   TTM_DELTOOLW
0434   1076   EM_EXGETSEL
0434   1076   TB_SETHOTIMAGELIST
0434   1076   TTM_NEWTOOLRECTW
0435   1077   EM_EXLIMITTEXT
0435   1077   TB_GETHOTIMAGELIST
0435   1077   TTM_GETTOOLINFOW
0436   1078   EM_EXLINEFROMCHAR
0436   1078   TB_SETDISABLEDIMAGELIST
0436   1078   TTM_SETTOOLINFOW
0437   1079   EM_EXSETSEL
0437   1079   TB_GETDISABLEDIMAGELIST
0437   1079   TTM_HITTESTW
0438   1080   EM_FINDTEXT
0438   1080   TB_SETSTYLE
0438   1080   TTM_GETTEXTW
0439   1081   EM_FORMATRANGE
0439   1081   TB_GETSTYLE
0439   1081   TTM_UPDATETIPTEXTW
043a   1082   EM_GETCHARFORMAT
043a   1082   TB_GETBUTTONSIZE
043a   1082   TTM_ENUMTOOLSW
043b   1083   EM_GETEVENTMASK
043b   1083   TB_SETBUTTONWIDTH
043b   1083   TTM_GETCURRENTTOOLW
043c   1084   EM_GETOLEINTERFACE
043c   1084   TB_SETMAXTEXTROWS
043d   1085   EM_GETPARAFORMAT
043d   1085   TB_GETTEXTROWS
043e   1086   EM_GETSELTEXT
043e   1086   TB_GETOBJECT
043f   1087   EM_HIDESELECTION
043f   1087   TB_GETBUTTONINFOW
0440   1088   EM_PASTESPECIAL
0440   1088   TB_SETBUTTONINFOW
0441   1089   EM_REQUESTRESIZE
0441   1089   TB_GETBUTTONINFOA
0442   1090   EM_SELECTIONTYPE
0442   1090   TB_SETBUTTONINFOA
0443   1091   EM_SETBKGNDCOLOR
0443   1091   TB_INSERTBUTTONW
0444   1092   EM_SETCHARFORMAT
0444   1092   TB_ADDBUTTONSW
0445   1093   EM_SETEVENTMASK
0445   1093   TB_HITTEST
0446   1094   EM_SETOLECALLBACK
0446   1094   TB_SETDRAWTEXTFLAGS
0447   1095   EM_SETPARAFORMAT
0447   1095   TB_GETHOTITEM
0448   1096   EM_SETTARGETDEVICE
0448   1096   TB_SETHOTITEM
0449   1097   EM_STREAMIN
0449   1097   TB_SETANCHORHIGHLIGHT
044a   1098   EM_STREAMOUT
044a   1098   TB_GETANCHORHIGHLIGHT
044b   1099   EM_GETTEXTRANGE
044b   1099   TB_GETBUTTONTEXTW
044c   1100   EM_FINDWORDBREAK
044c   1100   TB_SAVERESTOREW
044d   1101   EM_SETOPTIONS
044d   1101   TB_ADDSTRINGW
044e   1102   EM_GETOPTIONS
044e   1102   TB_MAPACCELERATORA
044f   1103   EM_FINDTEXTEX
044f   1103   TB_GETINSERTMARK
0450   1104   EM_GETWORDBREAKPROCEX
0450   1104   TB_SETINSERTMARK
0451   1105   EM_SETWORDBREAKPROCEX
0451   1105   TB_INSERTMARKHITTEST
0452   1106   EM_SETUNDOLIMIT
0452   1106   TB_MOVEBUTTON
0453   1107   TB_GETMAXSIZE
0454   1108   EM_REDO
0454   1108   TB_SETEXTENDEDSTYLE
0455   1109   EM_CANREDO
0455   1109   TB_GETEXTENDEDSTYLE
0456   1110   EM_GETUNDONAME
0456   1110   TB_GETPADDING
0457   1111   EM_GETREDONAME
0457   1111   TB_SETPADDING
0458   1112   EM_STOPGROUPTYPING
0458   1112   TB_SETINSERTMARKCOLOR
0459   1113   EM_SETTEXTMODE
0459   1113   TB_GETINSERTMARKCOLOR
045a   1114   EM_GETTEXTMODE
045a   1114   TB_MAPACCELERATORW
045b   1115   EM_AUTOURLDETECT
045b   1115   TB_GETSTRINGW
045c   1116   EM_GETAUTOURLDETECT
045c   1116   TB_GETSTRINGA
045d   1117   EM_SETPALETTE
045e   1118   EM_GETTEXTEX
045f   1119   EM_GETTEXTLENGTHEX
0460   1120   EM_SHOWSCROLLBAR
0461   1121   EM_SETTEXTEX
0463   1123   TAPI_REPLY
0464   1124   ACM_OPENA
0464   1124   BFFM_SETSTATUSTEXTA
0464   1124   CDM_FIRST
0464   1124   CDM_GETSPEC
0464   1124   EM_SETPUNCTUATION
0464   1124   IPM_CLEARADDRESS
0464   1124   WM_CAP_UNICODE_START
0465   1125   ACM_PLAY
0465   1125   BFFM_ENABLEOK
0465   1125   CDM_GETFILEPATH
0465   1125   EM_GETPUNCTUATION
0465   1125   IPM_SETADDRESS
0465   1125   PSM_SETCURSEL
0465   1125   UDM_SETRANGE
0465   1125   WM_CHOOSEFONT_SETLOGFONT
0466   1126   ACM_STOP
0466   1126   BFFM_SETSELECTIONA
0466   1126   CDM_GETFOLDERPATH
0466   1126   EM_SETWORDWRAPMODE
0466   1126   IPM_GETADDRESS
0466   1126   PSM_REMOVEPAGE
0466   1126   UDM_GETRANGE
0466   1126   WM_CAP_SET_CALLBACK_ERRORW
0466   1126   WM_CHOOSEFONT_SETFLAGS
0467   1127   ACM_OPENW
0467   1127   BFFM_SETSELECTIONW
0467   1127   CDM_GETFOLDERIDLIST
0467   1127   EM_GETWORDWRAPMODE
0467   1127   IPM_SETRANGE
0467   1127   PSM_ADDPAGE
0467   1127   UDM_SETPOS
0467   1127   WM_CAP_SET_CALLBACK_STATUSW
0468   1128   BFFM_SETSTATUSTEXTW
0468   1128   CDM_SETCONTROLTEXT
0468   1128   EM_SETIMECOLOR
0468   1128   IPM_SETFOCUS
0468   1128   PSM_CHANGED
0468   1128   UDM_GETPOS
0469   1129   CDM_HIDECONTROL
0469   1129   EM_GETIMECOLOR
0469   1129   IPM_ISBLANK
0469   1129   PSM_RESTARTWINDOWS
0469   1129   UDM_SETBUDDY
046a   1130   CDM_SETDEFEXT
046a   1130   EM_SETIMEOPTIONS
046a   1130   PSM_REBOOTSYSTEM
046a   1130   UDM_GETBUDDY
046b   1131   EM_GETIMEOPTIONS
046b   1131   PSM_CANCELTOCLOSE
046b   1131   UDM_SETACCEL
046c   1132   EM_CONVPOSITION
046c   1132   EM_CONVPOSITION
046c   1132   PSM_QUERYSIBLINGS
046c   1132   UDM_GETACCEL
046d   1133   MCIWNDM_GETZOOM
046d   1133   PSM_UNCHANGED
046d   1133   UDM_SETBASE
046e   1134   PSM_APPLY
046e   1134   UDM_GETBASE
046f   1135   PSM_SETTITLEA
046f   1135   UDM_SETRANGE32
0470   1136   PSM_SETWIZBUTTONS
0470   1136   UDM_GETRANGE32
0470   1136   WM_CAP_DRIVER_GET_NAMEW
0471   1137   PSM_PRESSBUTTON
0471   1137   UDM_SETPOS32
0471   1137   WM_CAP_DRIVER_GET_VERSIONW
0472   1138   PSM_SETCURSELID
0472   1138   UDM_GETPOS32
0473   1139   PSM_SETFINISHTEXTA
0474   1140   PSM_GETTABCONTROL
0475   1141   PSM_ISDIALOGMESSAGE
0476   1142   MCIWNDM_REALIZE
0476   1142   PSM_GETCURRENTPAGEHWND
0477   1143   MCIWNDM_SETTIMEFORMATA
0477   1143   PSM_INSERTPAGE
0478   1144   EM_SETLANGOPTIONS
0478   1144   MCIWNDM_GETTIMEFORMATA
0478   1144   PSM_SETTITLEW
0478   1144   WM_CAP_FILE_SET_CAPTURE_FILEW
0479   1145   EM_GETLANGOPTIONS
0479   1145   MCIWNDM_VALIDATEMEDIA
0479   1145   PSM_SETFINISHTEXTW
0479   1145   WM_CAP_FILE_GET_CAPTURE_FILEW
047a   1146   EM_GETIMECOMPMODE
047b   1147   EM_FINDTEXTW
047b   1147   MCIWNDM_PLAYTO
047b   1147   WM_CAP_FILE_SAVEASW
047c   1148   EM_FINDTEXTEXW
047c   1148   MCIWNDM_GETFILENAMEA
047d   1149   EM_RECONVERSION
047d   1149   MCIWNDM_GETDEVICEA
047d   1149   PSM_SETHEADERTITLEA
047d   1149   WM_CAP_FILE_SAVEDIBW
047e   1150   EM_SETIMEMODEBIAS
047e   1150   MCIWNDM_GETPALETTE
047e   1150   PSM_SETHEADERTITLEW
047f   1151   EM_GETIMEMODEBIAS
047f   1151   MCIWNDM_SETPALETTE
047f   1151   PSM_SETHEADERSUBTITLEA
0480   1152   MCIWNDM_GETERRORA
0480   1152   PSM_SETHEADERSUBTITLEW
0481   1153   PSM_HWNDTOINDEX
0482   1154   PSM_INDEXTOHWND
0483   1155   MCIWNDM_SETINACTIVETIMER
0483   1155   PSM_PAGETOINDEX
0484   1156   PSM_INDEXTOPAGE
0485   1157   DL_BEGINDRAG
0485   1157   MCIWNDM_GETINACTIVETIMER
0485   1157   PSM_IDTOINDEX
0486   1158   DL_DRAGGING
0486   1158   PSM_INDEXTOID
0487   1159   DL_DROPPED
0487   1159   PSM_GETRESULT
0488   1160   DL_CANCELDRAG
0488   1160   PSM_RECALCPAGESIZES
048c   1164   MCIWNDM_GET_SOURCE
048d   1165   MCIWNDM_PUT_SOURCE
048e   1166   MCIWNDM_GET_DEST
048f   1167   MCIWNDM_PUT_DEST
0490   1168   MCIWNDM_CAN_PLAY
0491   1169   MCIWNDM_CAN_WINDOW
0492   1170   MCIWNDM_CAN_RECORD
0493   1171   MCIWNDM_CAN_SAVE
0494   1172   MCIWNDM_CAN_EJECT
0495   1173   MCIWNDM_CAN_CONFIG
0496   1174   IE_GETINK
0496   1174   IE_MSGFIRST
0496   1174   MCIWNDM_PALETTEKICK
0497   1175   IE_SETINK
0498   1176   IE_GETPENTIP
0499   1177   IE_SETPENTIP
049a   1178   IE_GETERASERTIP
049b   1179   IE_SETERASERTIP
049c   1180   IE_GETBKGND
049d   1181   IE_SETBKGND
049e   1182   IE_GETGRIDORIGIN
049f   1183   IE_SETGRIDORIGIN
04a0   1184   IE_GETGRIDPEN
04a1   1185   IE_SETGRIDPEN
04a2   1186   IE_GETGRIDSIZE
04a3   1187   IE_SETGRIDSIZE
04a4   1188   IE_GETMODE
04a5   1189   IE_SETMODE
04a6   1190   IE_GETINKRECT
04a6   1190   WM_CAP_SET_MCI_DEVICEW
04a7   1191   WM_CAP_GET_MCI_DEVICEW
04b4   1204   WM_CAP_PAL_OPENW
04b5   1205   WM_CAP_PAL_SAVEW
04b8   1208   IE_GETAPPDATA
04b9   1209   IE_SETAPPDATA
04ba   1210   IE_GETDRAWOPTS
04bb   1211   IE_SETDRAWOPTS
04bc   1212   IE_GETFORMAT
04bd   1213   IE_SETFORMAT
04be   1214   IE_GETINKINPUT
04bf   1215   IE_SETINKINPUT
04c0   1216   IE_GETNOTIFY
04c1   1217   IE_SETNOTIFY
04c2   1218   IE_GETRECOG
04c3   1219   IE_SETRECOG
04c4   1220   IE_GETSECURITY
04c5   1221   IE_SETSECURITY
04c6   1222   IE_GETSEL
04c7   1223   IE_SETSEL
04c8   1224   CDM_LAST
04c8   1224   EM_SETBIDIOPTIONS
04c8   1224   IE_DOCOMMAND
04c8   1224   MCIWNDM_NOTIFYMODE
04c9   1225   EM_GETBIDIOPTIONS
04c9   1225   IE_GETCOMMAND
04ca   1226   EM_SETTYPOGRAPHYOPTIONS
04ca   1226   IE_GETCOUNT
04cb   1227   EM_GETTYPOGRAPHYOPTIONS
04cb   1227   IE_GETGESTURE
04cb   1227   MCIWNDM_NOTIFYMEDIA
04cc   1228   EM_SETEDITSTYLE
04cc   1228   IE_GETMENU
04cd   1229   EM_GETEDITSTYLE
04cd   1229   IE_GETPAINTDC
04cd   1229   MCIWNDM_NOTIFYERROR
04ce   1230   IE_GETPDEVENT
04cf   1231   IE_GETSELCOUNT
04d0   1232   IE_GETSELITEMS
04d1   1233   IE_GETSTYLE
04db   1243   MCIWNDM_SETTIMEFORMATW
04dc   1244   EM_OUTLINE
04dc   1244   MCIWNDM_GETTIMEFORMATW
04dd   1245   EM_GETSCROLLPOS
04de   1246   EM_SETSCROLLPOS
04de   1246   EM_SETSCROLLPOS
04df   1247   EM_SETFONTSIZE
04e0   1248   EM_GETZOOM
04e0   1248   MCIWNDM_GETFILENAMEW
04e1   1249   EM_SETZOOM
04e1   1249   MCIWNDM_GETDEVICEW
04e2   1250   EM_GETVIEWKIND
04e3   1251   EM_SETVIEWKIND
04e4   1252   EM_GETPAGE
04e4   1252   MCIWNDM_GETERRORW
04e5   1253   EM_SETPAGE
04e6   1254   EM_GETHYPHENATEINFO
04e7   1255   EM_SETHYPHENATEINFO
04eb   1259   EM_GETPAGEROTATE
04ec   1260   EM_SETPAGEROTATE
04ed   1261   EM_GETCTFMODEBIAS
04ee   1262   EM_SETCTFMODEBIAS
04f0   1264   EM_GETCTFOPENSTATUS
04f1   1265   EM_SETCTFOPENSTATUS
04f2   1266   EM_GETIMECOMPTEXT
04f3   1267   EM_ISIME
04f4   1268   EM_GETIMEPROPERTY
050d   1293   EM_GETQUERYRTFOBJ
050e   1294   EM_SETQUERYRTFOBJ
0600   1536   FM_GETFOCUS
0601   1537   FM_GETDRIVEINFOA
0602   1538   FM_GETSELCOUNT
0603   1539   FM_GETSELCOUNTLFN
0604   1540   FM_GETFILESELA
0605   1541   FM_GETFILESELLFNA
0606   1542   FM_REFRESH_WINDOWS
0607   1543   FM_RELOAD_EXTENSIONS
0611   1553   FM_GETDRIVEINFOW
0614   1556   FM_GETFILESELW
0615   1557   FM_GETFILESELLFNW
0659   1625   WLX_WM_SAS
07e8   2024   SM_GETSELCOUNT
07e8   2024   UM_GETSELCOUNT
07e8   2024   WM_CPL_LAUNCH
07e9   2025   SM_GETSERVERSELA
07e9   2025   UM_GETUSERSELA
07e9   2025   WM_CPL_LAUNCHED
07ea   2026   SM_GETSERVERSELW
07ea   2026   UM_GETUSERSELW
07eb   2027   SM_GETCURFOCUSA
07eb   2027   UM_GETGROUPSELA
07ec   2028   SM_GETCURFOCUSW
07ec   2028   UM_GETGROUPSELW
07ed   2029   SM_GETOPTIONS
07ed   2029   UM_GETCURFOCUSA
07ee   2030   UM_GETCURFOCUSW
07ef   2031   UM_GETOPTIONS
07f0   2032   UM_GETOPTIONS2
1000   4096   LVM_FIRST
1000   4096   LVM_GETBKCOLOR
1001   4097   LVM_SETBKCOLOR
1002   4098   LVM_GETIMAGELIST
1003   4099   LVM_SETIMAGELIST
1004   4100   LVM_GETITEMCOUNT
1005   4101   LVM_GETITEMA
1006   4102   LVM_SETITEMA
1007   4103   LVM_INSERTITEMA
1008   4104   LVM_DELETEITEM
1009   4105   LVM_DELETEALLITEMS
100a   4106   LVM_GETCALLBACKMASK
100b   4107   LVM_SETCALLBACKMASK
100c   4108   LVM_GETNEXTITEM
100d   4109   LVM_FINDITEMA
100e   4110   LVM_GETITEMRECT
100f   4111   LVM_SETITEMPOSITION
1010   4112   LVM_GETITEMPOSITION
1011   4113   LVM_GETSTRINGWIDTHA
1012   4114   LVM_HITTEST
1013   4115   LVM_ENSUREVISIBLE
1014   4116   LVM_SCROLL
1015   4117   LVM_REDRAWITEMS
1016   4118   LVM_ARRANGE
1017   4119   LVM_EDITLABELA
1018   4120   LVM_GETEDITCONTROL
1019   4121   LVM_GETCOLUMNA
101a   4122   LVM_SETCOLUMNA
101b   4123   LVM_INSERTCOLUMNA
101c   4124   LVM_DELETECOLUMN
101d   4125   LVM_GETCOLUMNWIDTH
101e   4126   LVM_SETCOLUMNWIDTH
101f   4127   LVM_GETHEADER
1021   4129   LVM_CREATEDRAGIMAGE
1022   4130   LVM_GETVIEWRECT
1023   4131   LVM_GETTEXTCOLOR
1024   4132   LVM_SETTEXTCOLOR
1025   4133   LVM_GETTEXTBKCOLOR
1026   4134   LVM_SETTEXTBKCOLOR
1027   4135   LVM_GETTOPINDEX
1028   4136   LVM_GETCOUNTPERPAGE
1029   4137   LVM_GETORIGIN
102a   4138   LVM_UPDATE
102b   4139   LVM_SETITEMSTATE
102c   4140   LVM_GETITEMSTATE
102d   4141   LVM_GETITEMTEXTA
102e   4142   LVM_SETITEMTEXTA
102f   4143   LVM_SETITEMCOUNT
1030   4144   LVM_SORTITEMS
1031   4145   LVM_SETITEMPOSITION32
1032   4146   LVM_GETSELECTEDCOUNT
1033   4147   LVM_GETITEMSPACING
1034   4148   LVM_GETISEARCHSTRINGA
1035   4149   LVM_SETICONSPACING
1036   4150   LVM_SETEXTENDEDLISTVIEWSTYLE
1037   4151   LVM_GETEXTENDEDLISTVIEWSTYLE
1038   4152   LVM_GETSUBITEMRECT
1039   4153   LVM_SUBITEMHITTEST
103a   4154   LVM_SETCOLUMNORDERARRAY
103b   4155   LVM_GETCOLUMNORDERARRAY
103c   4156   LVM_SETHOTITEM
103d   4157   LVM_GETHOTITEM
103e   4158   LVM_SETHOTCURSOR
103f   4159   LVM_GETHOTCURSOR
1040   4160   LVM_APPROXIMATEVIEWRECT
1041   4161   LVM_SETWORKAREAS
1042   4162   LVM_GETSELECTIONMARK
1043   4163   LVM_SETSELECTIONMARK
1044   4164   LVM_SETBKIMAGEA
1045   4165   LVM_GETBKIMAGEA
1046   4166   LVM_GETWORKAREAS
1047   4167   LVM_SETHOVERTIME
1048   4168   LVM_GETHOVERTIME
1049   4169   LVM_GETNUMBEROFWORKAREAS
104a   4170   LVM_SETTOOLTIPS
104b   4171   LVM_GETITEMW
104c   4172   LVM_SETITEMW
104d   4173   LVM_INSERTITEMW
104e   4174   LVM_GETTOOLTIPS
1053   4179   LVM_FINDITEMW
1057   4183   LVM_GETSTRINGWIDTHW
105f   4191   LVM_GETCOLUMNW
1060   4192   LVM_SETCOLUMNW
1061   4193   LVM_INSERTCOLUMNW
1073   4211   LVM_GETITEMTEXTW
1074   4212   LVM_SETITEMTEXTW
1075   4213   LVM_GETISEARCHSTRINGW
1076   4214   LVM_EDITLABELW
108b   4235   LVM_GETBKIMAGEW
108c   4236   LVM_SETSELECTEDCOLUMN
108d   4237   LVM_SETTILEWIDTH
108e   4238   LVM_SETVIEW
108f   4239   LVM_GETVIEW
1091   4241   LVM_INSERTGROUP
1093   4243   LVM_SETGROUPINFO
1095   4245   LVM_GETGROUPINFO
1096   4246   LVM_REMOVEGROUP
1097   4247   LVM_MOVEGROUP
109a   4250   LVM_MOVEITEMTOGROUP
109b   4251   LVM_SETGROUPMETRICS
109c   4252   LVM_GETGROUPMETRICS
109d   4253   LVM_ENABLEGROUPVIEW
109e   4254   LVM_SORTGROUPS
109f   4255   LVM_INSERTGROUPSORTED
10a0   4256   LVM_REMOVEALLGROUPS
10a1   4257   LVM_HASGROUP
10a2   4258   LVM_SETTILEVIEWINFO
10a3   4259   LVM_GETTILEVIEWINFO
10a4   4260   LVM_SETTILEINFO
10a5   4261   LVM_GETTILEINFO
10a6   4262   LVM_SETINSERTMARK
10a7   4263   LVM_GETINSERTMARK
10a8   4264   LVM_INSERTMARKHITTEST
10a9   4265   LVM_GETINSERTMARKRECT
10aa   4266   LVM_SETINSERTMARKCOLOR
10ab   4267   LVM_GETINSERTMARKCOLOR
10ad   4269   LVM_SETINFOTIP
10ae   4270   LVM_GETSELECTEDCOLUMN
10af   4271   LVM_ISGROUPVIEWENABLED
10b0   4272   LVM_GETOUTLINECOLOR
10b1   4273   LVM_SETOUTLINECOLOR
10b3   4275   LVM_CANCELEDITLABEL
10b4   4276   LVM_MAPINDEXTOID
10b5   4277   LVM_MAPIDTOINDEX
10b6   4278   LVM_ISITEMVISIBLE
2000   8192   OCM__BASE
2005   8197   LVM_SETUNICODEFORMAT
2006   8198   LVM_GETUNICODEFORMAT
2019   8217   OCM_CTLCOLOR
202b   8235   OCM_DRAWITEM
202c   8236   OCM_MEASUREITEM
202d   8237   OCM_DELETEITEM
202e   8238   OCM_VKEYTOITEM
202f   8239   OCM_CHARTOITEM
2039   8249   OCM_COMPAREITEM
204e   8270   OCM_NOTIFY
2111   8465   OCM_COMMAND
2114   8468   OCM_HSCROLL
2115   8469   OCM_VSCROLL
2132   8498   OCM_CTLCOLORMSGBOX
2133   8499   OCM_CTLCOLOREDIT
2134   8500   OCM_CTLCOLORLISTBOX
2135   8501   OCM_CTLCOLORBTN
2136   8502   OCM_CTLCOLORDLG
2137   8503   OCM_CTLCOLORSCROLLBAR
2138   8504   OCM_CTLCOLORSTATIC
2210   8720   OCM_PARENTNOTIFY
8000   32768   WM_APP
cccd   52429   WM_RASDIALEVENT

 

https://searchcode.com/codesearch/view/27120131/

 

 1Module:    Win32-duim
  2Copyright:    Original Code is Copyright (c) 1995-2004 Functional Objects, Inc.
  3              All rights reserved.
  4License:      See License.txt in this distribution for details.
  5Warranty:     Distributed WITHOUT WARRANTY OF ANY KIND
  6
  7define constant $FFFFFFFF :: <machine-word> =
  8  as(<machine-word>, -1); // #xFFFFFFFF
  9
 10define constant <U8> = limited(<integer>, min: 0, max: #xFF);
 11define constant <U16> = limited(<integer>, min: 0, max: #xFFFF);
 12define constant <S16> = limited(<integer>, min: -#x8000, max: #x7FFF);
 13define constant <ambiguous-short> =     // 16 bits, signed or unsigned
 14  limited(<integer>, min: -#x8000, max: #xFFFF);
 15
 16define constant <signed-long> =
 17  type-union(<integer>, <machine-word>);
 18define constant <unsigned-long> = 
 19  type-union(limited(<integer>, min: 0), <machine-word>);
 20
 21define constant <signed-int> = <signed-long>;
 22define constant <unsigned-int> = <unsigned-long>;
 23
 24define constant <C-BYTE*> = <C-unsigned-char*>;
 25define constant <LPARAM>  = <C-both-long>;
 26define constant <LRESULT> = <C-both-long>;
 27define constant <WPARAM>  = <C-both-unsigned-int>;
 28define constant <UINT>    = <C-both-unsigned-int>;
 29
 30define inline constant <USHORT> = <C-unsigned-short>;
 31define inline constant <DWORD> = <C-both-unsigned-long>;
 32define C-pointer-type <DWORD*> => <DWORD>;
 33define C-pointer-type <DWORD**> => <DWORD*>;
 34define constant <BOOL> = <C-Boolean>;
 35define inline constant <C-BYTE> = <C-unsigned-char>;
 36define inline constant <WORD> = <C-unsigned-short>;
 37define inline constant <PBYTE> = <C-BYTE*>;
 38define inline constant <LPBYTE> = <C-BYTE*>;
 39define inline constant <LPINT> = <C-int*>;
 40define C-pointer-type <LPWORD> => <WORD>;
 41define inline constant <LPVOID> = <C-void*>;
 42define inline constant <LPCVOID> =  /* const */ <C-void*>;
 43define inline constant <INT> = <C-int>;
 44define inline constant <CHAR> = <C-character>;
 45define inline constant <SHORT> = <C-short>;
 46define inline constant <LONG> = <C-both-long>;
 47define inline constant <PWCHAR> = <C-unicode-string>;
 48define inline constant <LPWSTR> = <C-unicode-string>;
 49define inline constant <LPSTR> = <C-string>;
 50define inline constant <LPCSTR> =  /* const */ <C-string>;
 51define inline constant <PTCHAR> = <C-string>;
 52define inline constant <LPTSTR> = <LPSTR>;
 53define inline constant <LPCTSTR> = <LPCSTR>;
 54
 55define inline constant <ATOM> = <WORD>;
 56define inline constant <HGLOBAL> = <HANDLE>;
 57define inline constant <COLORREF> = <DWORD>;
 58define C-pointer-type <LPCOLORREF> => <DWORD>;
 59define C-subtype <WNDPROC> ( <C-function-pointer> ) end;
 60define C-subtype <HIMAGELIST> ( <C-void*> ) end;
 61define C-subtype <HTREEITEM> ( <C-void*> ) end;
 62define constant <HKEY> = <HANDLE>;
 63define C-pointer-type <PHKEY> => <HKEY>;
 64
 65// Null constants for some commonly used pointer types
 66
 67define constant $NULL-HWND :: <HWND> = null-pointer( <HWND> );
 68define constant $NULL-RECT :: <LPRECT> = null-pointer( <LPRECT> );
 69define constant $NULL-POINT :: <LPPOINT> = null-pointer( <LPPOINT> );
 70define constant $NULL-VOID :: <C-void*> = null-pointer( <C-void*> );
 71define constant $NULL-string :: <C-string> = null-pointer( <C-string> );
 72define constant $NULL-HDC :: <HDC> = null-pointer(<HDC>);
 73define constant $NULL-HMENU :: <HMENU> = null-pointer(<HMENU>);
 74define constant $NULL-HINSTANCE :: <HINSTANCE> = null-pointer(<HINSTANCE>);
 75
 76define inline-only constant $MAX-PATH                   =  260;
 77
 78define generic LOWORD ( n :: <object> ) => value :: <U16>;
 79define generic HIWORD ( n :: <object> ) => value :: <U16>;
 80
 81define inline method LOWORD ( n :: <integer> ) => value :: <U16>;
 82    logand(n,#xFFFF)
 83end LOWORD;
 84
 85define inline method HIWORD ( n :: <integer> ) => value :: <U16>;
 86    logand( ash(n,-16), #xFFFF)  
 87end HIWORD;
 88
 89define inline method LOWORD ( n :: <machine-word> ) => value :: <U16>;
 90  as(<integer>, %logand(n, as(<machine-word>, #xFFFF)))
 91end LOWORD;
 92
 93// Not inline because of Bug 2262.
 94define method HIWORD ( n :: <machine-word> ) => value :: <U16>;
 95  as(<integer>, u%shift-right(n,16))
 96end HIWORD;
 97
 98define method LOWORD ( n :: <double-integer> ) => value :: <U16>;
 99  LOWORD(%double-integer-low(n))
100end LOWORD;
101
102define method HIWORD ( n :: <double-integer> ) => value :: <U16>;
103  HIWORD(%double-integer-low(n))
104end HIWORD;
105
106define sealed method MAKELONG ( wLow :: <ambiguous-short>,
107                                wHigh :: <ambiguous-short> )
108                        => value :: <unsigned-long>;
109  let low :: <integer> = logand(wLow, #xFFFF);
110  if ( wHigh > #x0FFF | wHigh < 0 )
111    %logior(low, u%shift-left(as(<machine-word>, logand(wHigh, #xFFFF)), 16))
112  else
113    logior(low, ash(wHigh,16))
114  end if
115end MAKELONG;
116
117define sealed method MAKELONG ( wLow :: <boolean>, wHigh :: <object> )
118        => value :: <unsigned-long>;
119  MAKELONG( (if(wLow) 1 else 0 end if), wHigh)
120end MAKELONG;
121
122// The following is a substitute for MAKEPOINT, MAKEPOINTS, and LONG2POINT.
123// Unpacks a 32-bit value into two signed 16-bit numbers
124define function LPARAM-TO-XY( lparam ) => ( x :: <S16> , y :: <S16> );
125
126  local method extend-short( u :: <U16> ) => s :: <S16>;
127          // sign-extend a 16-bit number
128          if ( logand( u, #x8000 ) = 0 )
129            u
130          else
131            logior( u, lognot(#x7FFF) );
132          end if;
133        end extend-short;
134
135  values( extend-short(LOWORD(lparam)), extend-short(HIWORD(lparam)) )
136end LPARAM-TO-XY;
137
138define inline method LOBYTE ( n :: <integer> ) => value :: <U8>;
139  logand(n,#xFF)
140end LOBYTE;
141
142define inline method HIBYTE ( n :: <integer> ) => value :: <U8>;
143  logand(ash(n,-8), #xFF)  
144end HIBYTE;
145
146define method LOBYTE ( n :: <machine-word> ) => value :: <U8>;
147  LOBYTE(LOWORD(n))
148end LOBYTE;
149
150define method HIBYTE ( n :: <machine-word> ) => value :: <U8>;
151  HIBYTE(LOWORD(n))
152end HIBYTE;
153
154define sealed method MAKEWORD ( low-byte :: <integer>, high-byte :: <integer> )
155 => value :: <U16>;
156  logior(logand(low-byte, #xFF), ash(logand(high-byte, #xFF),8))
157end MAKEWORD;
158
159
160define inline function MAKELANGID(p :: <U16>, s :: <U16>)
161  => (value :: <integer>);
162   logior( ash(s, 10), p)
163end MAKELANGID;
164
165define function MAKEINTRESOURCE( n :: <integer> )
166        => value :: <LPTSTR>;
167  make(<LPTSTR>, address: n)
168end MAKEINTRESOURCE;
169
170define inline function RGB(red :: <U8>, green :: <U8>, blue :: <U8> )
171                         => value :: <integer>;
172  logior ( logior(red, ash(green,8)), ash(blue,16) )
173end RGB;
174
175define inline function GetRValue(rgb :: <integer>) => red :: <U8>;
176  logand(#xFF,rgb)
177end;
178
179define inline function GetGValue(rgb :: <integer>) => green :: <U8>;
180  logand(#xFF, ash(rgb,-8))
181end;
182
183define inline function GetBValue(rgb :: <integer>) => blue :: <U8>;
184  logand(#xFF, ash(rgb,-16))
185end;
186
187define inline function MAKELPARAM(l, h); MAKELONG(l, h) end;
188
189
190
191define inline-only constant $ACTCTX-FLAG-RESOURCE-NAME-VALID = #x00000008;
192define inline-only constant $ACTCTX-FLAG-HMODULE-VALID       = #x00000080;
193define inline-only constant $ANSI-CHARSET               =    0;
194define inline-only constant $ANSI-FIXED-FONT            =   11;
195define inline-only constant $ANSI-VAR-FONT              =   12;
196define inline-only constant $BDR-RAISEDINNER            = #x0004;
197define inline-only constant $BDR-RAISEDOUTER            = #x0001;
198define inline-only constant $BDR-SUNKENINNER            = #x0008;
199define inline-only constant $BDR-SUNKENOUTER            = #x0002;
200define inline-only constant $BF-BOTTOM                  = #x0008;
201define inline-only constant $BF-FLAT                    = #x4000;
202define inline-only constant $BF-LEFT                    = #x0001;
203define inline-only constant $BF-RECT                    = logior($BF-LEFT, $BF-TOP, $BF-RIGHT, $BF-BOTTOM);
204define inline-only constant $BF-RIGHT                   = #x0004;
205define inline-only constant $BF-TOP                     = #x0002;
206define inline-only constant $BLACK-BRUSH                =    4;
207define inline-only constant $BLACK-PEN                  =    7;
208define inline-only constant $BLACKNESS                  = #x00000042;
209define inline-only constant $BM-GETCHECK                = #x00F0;
210define inline-only constant $BM-SETCHECK                = #x00F1;
211define inline-only constant $BM-SETIMAGE                = #x00F7;
212define inline-only constant $BM-SETSTYLE                = #x00F4;
213define inline-only constant $BN-CLICKED                 =    0;
214define inline-only constant $BN-DBLCLK   = $BN-DOUBLECLICKED;
215define inline-only constant $BN-DOUBLECLICKED           =    5;
216define inline-only constant $BS-BITMAP                  = #x00000080;
217define inline-only constant $BS-CHECKBOX                = #x00000002;
218define inline-only constant $BS-DEFPUSHBUTTON           = #x00000001;
219define inline-only constant $BS-GROUPBOX                = #x00000007;
220define inline-only constant $BS-ICON                    = #x00000040;
221define inline-only constant $BS-PUSHBUTTON              = #x00000000;
222define inline-only constant $BS-PUSHLIKE                = #x00001000;
223define inline-only constant $BS-RADIOBUTTON             = #x00000004;
224define inline-only constant $BST-CHECKED                = #x0001;
225define inline-only constant $CB-ADDSTRING               = #x0143;
226define inline-only constant $CB-ERR                     =   -1;
227define inline-only constant $CB-GETCURSEL               = #x0147;
228define inline-only constant $CB-GETDROPPEDSTATE         = #x0157;
229define inline-only constant $CB-RESETCONTENT            = #x014B;
230define inline-only constant $CB-SETCURSEL               = #x014E;
231define inline-only constant $CB-SHOWDROPDOWN            = #x014F;
232define inline-only constant $CBN-EDITCHANGE             =    5;
233define inline-only constant $CBN-SELENDOK               =    9;
234define inline-only constant $CBS-AUTOHSCROLL            = #x0040;
235define inline-only constant $CBS-DROPDOWN               = #x0002;
236define inline-only constant $CBS-DROPDOWNLIST           = #x0003;
237define inline-only constant $CC-ANYCOLOR                = #x00000100;
238define inline-only constant $CC-RGBINIT                 = #x00000001;
239define inline-only constant $CC-SHOWHELP                = #x00000008;
240define inline-only constant $CCHDEVICENAME              =   32;
241define inline-only constant $CCHFORMNAME                =   32;
242define inline-only constant $CF-APPLY                   = #x00000200;
243define inline-only constant $CF-EFFECTS                 = #x00000100;
244define inline-only constant $CF-FIXEDPITCHONLY          = #x00004000;
245define inline-only constant $CF-FORCEFONTEXIST          = #x00010000;
246define inline-only constant $CF-INITTOLOGFONTSTRUCT     = #x00000040;
247define inline-only constant $CF-NOSCRIPTSEL             = #x00800000;
248define inline-only constant $CF-SCREENFONTS             = #x00000001;
249define inline-only constant $CF-SHOWHELP                = #x00000004;
250define inline-only constant $CF-TEXT                    =    1;
251define inline-only constant $CLIP-DEFAULT-PRECIS        =    0;
252define inline-only constant $CLR-INVALID                = $FFFFFFFF;
253define inline-only constant $COLOR-3DFACE = $COLOR-BTNFACE;
254define inline-only constant $COLOR-3DHIGHLIGHT = $COLOR-BTNHIGHLIGHT;
255define inline-only constant $COLOR-3DSHADOW = $COLOR-BTNSHADOW;
256define inline-only constant $COLOR-BTNFACE              =   15;
257define inline-only constant $COLOR-BTNHIGHLIGHT         =   20;
258define inline-only constant $COLOR-BTNSHADOW            =   16;
259define inline-only constant $COLOR-WINDOW               =    5;
260define inline-only constant $COLOR-WINDOWTEXT           =    8;
261define inline-only constant $CS-DBLCLKS                 = #x0008;
262define inline-only constant $CS-HREDRAW                 = #x0002;
263define inline-only constant $CS-OWNDC                   = #x0020;
264define inline-only constant $CS-VREDRAW                 = #x0001;
265define inline-only constant $CW-USEDEFAULT              = as(<machine-word>, #x80000000);
266define inline-only constant $DEFAULT-CHARSET            =    1;
267define inline-only constant $DEFAULT-GUI-FONT           =   17;
268define inline-only constant $DEFAULT-PITCH              =    0;
269define inline-only constant $DEFAULT-QUALITY            =    0;
270define inline-only constant $DI-COMPAT                  = #x0004;
271define inline-only constant $DLGWINDOWEXTRA             =   30;
272define inline-only constant $DSTINVERT                  = #x00550009;
273define inline-only constant $DS-SETFONT                 = #x40;
274define inline-only constant $EDGE-BUMP                  = logior($BDR-RAISEDOUTER, $BDR-SUNKENINNER);
275define inline-only constant $EDGE-ETCHED                = logior($BDR-SUNKENOUTER, $BDR-RAISEDINNER);
276define inline-only constant $EDGE-RAISED                = logior($BDR-RAISEDOUTER, $BDR-RAISEDINNER);
277define inline-only constant $EDGE-SUNKEN                = logior($BDR-SUNKENOUTER, $BDR-SUNKENINNER);
278define inline-only constant $EM-GETSEL                  = #x00B0;
279define inline-only constant $EM-SCROLLCARET             = #x00B7;
280define inline-only constant $EM-SETSEL                  = #x00B1;
281define inline-only constant $EN-CHANGE                  = #x0300;
282define inline-only constant $EN-KILLFOCUS               = #x0200;
283define inline-only constant $ERROR-SUCCESS              =    0;
284define inline-only constant $ES-AUTOHSCROLL             = #x0080;
285define inline-only constant $ES-MULTILINE               = #x0004;
286define inline-only constant $ES-PASSWORD                = #x0020;
287define inline-only constant $ES-READONLY                = #x0800;
288define inline-only constant $ES-WANTRETURN              = #x1000;
289define inline-only constant $FF-DECORATIVE              = ash(5,4);
290define inline-only constant $FF-DONTCARE                = ash(0,4);
291define inline-only constant $FF-MODERN                  = ash(3,4);
292define inline-only constant $FF-ROMAN                   = ash(1,4);
293define inline-only constant $FF-SCRIPT                  = ash(4,4);
294define inline-only constant $FF-SWISS                   = ash(2,4);
295define inline-only constant $FIXED-PITCH                =    1;
296define inline-only constant $FORMAT-MESSAGE-FROM-SYSTEM = #x00001000;
297define inline-only constant $FORMAT-MESSAGE-IGNORE-INSERTS = #x00000200;
298define inline-only constant $GCW-ATOM                   =  -32;
299define inline-only constant $GMEM-DDESHARE              = #x2000;
300define inline-only constant $GMEM-MOVEABLE              = #x0002;
301define inline-only constant $GW-CHILD                   =    5;
302define inline-only constant $GW-HWNDNEXT                =    2;
303define inline-only constant $GWL-STYLE                  =  -16;
304define inline-only constant $GWL-WNDPROC                =   -4;
305define inline-only constant $HELP-COMMAND               = #x0102;
306define inline-only constant $HELP-CONTENTS              = #x0003;
307define inline-only constant $HELP-CONTEXT               = #x0001;
308define inline-only constant $HELP-CONTEXTPOPUP          = #x0008;
309define inline-only constant $HELP-FINDER                = #x000b;
310define inline-only constant $HELP-HELPONHELP            = #x0004;
311define inline-only constant $HELP-INDEX                 = #x0003;
312define inline-only constant $HELP-KEY                   = #x0101;
313define inline-only constant $HELP-QUIT                  = #x0002;
314define inline-only constant $HELP-SETWINPOS             = #x0203;
315define inline-only constant $HH-ALINK-LOOKUP                    = #x0013;
316define inline-only constant $HH-DISPLAY-TOPIC                   = #x0000;
317define inline-only constant $HH-HELP-CONTEXT                    = #x000F;
318define inline-only constant $HKEY-CLASSES-ROOT          = as(<HKEY>,as(<machine-word>, #x80000000));
319define inline-only constant $HORZSIZE                   =    4;
320define inline-only constant $HWND-BOTTOM                = make(<HWND>, address: 1);
321define inline-only constant $HWND-TOP                   = make(<HWND>, address: 0);
322define inline-only constant $ICON-BIG                   =    1;
323define inline-only constant $ICON-SMALL                 =    0;
324define inline-only constant $IDC-APPSTARTING            = MAKEINTRESOURCE(32650);
325define inline-only constant $IDC-ARROW                  = MAKEINTRESOURCE(32512);
326define inline-only constant $IDC-CROSS                  = MAKEINTRESOURCE(32515);
327define inline-only constant $IDC-IBEAM                  = MAKEINTRESOURCE(32513);
328define inline-only constant $IDC-SIZENESW               = MAKEINTRESOURCE(32643);
329define inline-only constant $IDC-SIZENS                 = MAKEINTRESOURCE(32645);
330define inline-only constant $IDC-SIZENWSE               = MAKEINTRESOURCE(32642);
331define inline-only constant $IDC-SIZEWE                 = MAKEINTRESOURCE(32644);
332define inline-only constant $IDC-WAIT                   = MAKEINTRESOURCE(32514);
333define inline-only constant $IDCANCEL                   =    2;
334define inline-only constant $IDHELP                     =    9;
335define inline-only constant $IDI-APPLICATION            = MAKEINTRESOURCE(32512);
336define inline-only constant $IDNO                       =    7;
337define inline-only constant $IDOK                       =    1;
338define inline-only constant $IDYES                      =    6;
339define inline-only constant $ILC-COLOR8                 = #x0008;
340define inline-only constant $ILC-MASK                   = #x0001;
341define inline-only constant $IMAGE-BITMAP               =    0;
342define inline-only constant $IMAGE-ICON                 =    1;
343define inline-only constant $KEY-ENUMERATE-SUB-KEYS     = #x0008;
344define inline-only constant $KEY-QUERY-VALUE            = #x0001;
345define inline-only constant $LANG-NEUTRAL               = #x00;
346define inline-only constant $LANG-USER-DEFAULT          = MAKELANGID($LANG-NEUTRAL,$SUBLANG-DEFAULT);
347define inline-only constant $LB-ADDSTRING               = #x0180;
348define inline-only constant $LB-ERR                     =   -1;
349define inline-only constant $LB-GETCURSEL               = #x0188;
350define inline-only constant $LB-GETSELITEMS             = #x0191;
351define inline-only constant $LB-RESETCONTENT            = #x0184;
352define inline-only constant $LB-SETCURSEL               = #x0186;
353define inline-only constant $LB-SETSEL                  = #x0185;
354define inline-only constant $LBN-DBLCLK                 =    2;
355define inline-only constant $LBN-SELCANCEL              =    3;
356define inline-only constant $LBN-SELCHANGE              =    1;
357define inline-only constant $LBS-DISABLENOSCROLL        = #x1000;
358define inline-only constant $LBS-EXTENDEDSEL            = #x0800;
359define inline-only constant $LBS-NOTIFY                 = #x0001;
360define inline-only constant $LF-FACESIZE                =   32;
361define inline-only constant $LOGPIXELSX                 =   88;
362define inline-only constant $LOGPIXELSY                 =   90;
363define inline-only constant $LR-DEFAULTCOLOR            = #x0000;
364define inline-only constant $LVCF-FMT                   = #x0001;
365define inline-only constant $LVCF-SUBITEM               = #x0008;
366define inline-only constant $LVCF-TEXT                  = #x0004;
367define inline-only constant $LVCF-WIDTH                 = #x0002;
368define inline-only constant $LVCFMT-CENTER              = #x0002;
369define inline-only constant $LVCFMT-LEFT                = #x0000;
370define inline-only constant $LVCFMT-RIGHT               = #x0001;
371define inline-only constant $LVHT-ONITEM                = logior($LVHT-ONITEMICON, $LVHT-ONITEMLABEL, $LVHT-ONITEMSTATEICON);
372define inline-only constant $LVHT-ONITEMICON            = #x0002;
373define inline-only constant $LVHT-ONITEMLABEL           = #x0004;
374define inline-only constant $LVHT-ONITEMSTATEICON       = #x0008;
375define inline-only constant $LVIF-IMAGE                 = #x0002;
376define inline-only constant $LVIF-STATE                 = #x0008;
377define inline-only constant $LVIF-TEXT                  = #x0001;
378define inline-only constant $LVIS-SELECTED              = #x0002;
379define inline-only constant $LVM-DELETEALLITEMS         = #x1009;
380define inline-only constant $LVM-DELETECOLUMN           = #x101C;
381define inline-only constant $LVM-DELETEITEM             = #x1008;
382define inline-only constant $LVM-ENSUREVISIBLE          = #x1013;
383define inline-only constant $LVM-HITTEST                = #x1012;
384define inline-only constant $LVM-INSERTCOLUMN           = #x101B;
385define inline-only constant $LVM-INSERTITEM             = #x1007;
386define inline-only constant $LVM-SETCOLUMN              = #x101A;
387define inline-only constant $LVM-SETCOLUMNWIDTH         = #x101E;
388define inline-only constant $LVM-SETIMAGELIST           = #x1003;
389define inline-only constant $LVM-SETITEM                = #x1006;
390define inline-only constant $LVM-SETITEMCOUNT           = #x102F;
391define inline-only constant $LVM-SETEXTENDEDLISTVIEWSTYLE = #x1036;
392define inline-only constant $LVN-COLUMNCLICK            = -108;
393define inline-only constant $LVN-ITEMCHANGED            = -101;
394define inline-only constant $LVN-KEYDOWN                = -155;
395define inline-only constant $LVS-ICON                   = #x0000;
396define inline-only constant $LVS-LIST                   = #x0003;
397define inline-only constant $LVS-NOCOLUMNHEADER         = #x4000;
398define inline-only constant $LVS-REPORT                 = #x0001;
399define inline-only constant $LVS-EX-FULLROWSELECT       = #x00000020;
400define inline-only constant $LVS-SHOWSELALWAYS          = #x0008;
401define inline-only constant $LVS-SINGLESEL              = #x0004;
402define inline-only constant $LVS-SMALLICON              = #x0002;
403define inline-only constant $LVS-TYPEMASK               = #x0003;
404define inline-only constant $LVSCW-AUTOSIZE             =   -1;
405define inline-only constant $LVSIL-NORMAL               =    0;
406define inline-only constant $LVSIL-SMALL                =    1;
407define inline-only constant $MB-APPLMODAL               = #x00000000;
408define inline-only constant $MB-ICONASTERISK            = #x00000040;
409define inline-only constant $MB-ICONERROR = $MB-ICONHAND;
410define inline-only constant $MB-ICONEXCLAMATION         = #x00000030;
411define inline-only constant $MB-ICONHAND                = #x00000010;
412define inline-only constant $MB-ICONINFORMATION = $MB-ICONASTERISK;
413define inline-only constant $MB-ICONQUESTION            = #x00000020;
414define inline-only constant $MB-ICONSTOP = $MB-ICONHAND;
415define inline-only constant $MB-ICONWARNING = $MB-ICONEXCLAMATION;
416define inline-only constant $MB-OK                      = #x00000000;
417define inline-only constant $MB-OKCANCEL                = #x00000001;
418define inline-only constant $MB-SETFOREGROUND           = #x00010000;
419define inline-only constant $MB-SYSTEMMODAL             = #x00001000;
420define inline-only constant $MB-TASKMODAL               = #x00002000;
421define inline-only constant $MB-YESNO                   = #x00000004;
422define inline-only constant $MB-YESNOCANCEL             = #x00000003;
423define inline-only constant $MERGEPAINT                 = #x00BB0226;
424define inline-only constant $MF-BYCOMMAND               = #x00000000;
425define inline-only constant $MF-BYPOSITION              = #x00000400;
426define inline-only constant $MF-CHECKED                 = #x00000008;
427define inline-only constant $MF-DEFAULT                 = #x00001000;
428define inline-only constant $MF-ENABLED                 = #x00000000;
429define inline-only constant $MF-GRAYED                  = #x00000001;
430define inline-only constant $MF-POPUP                   = #x00000010;
431define inline-only constant $MF-SEPARATOR               = #x00000800;
432define inline-only constant $MF-STRING                  = #x00000000;
433define inline-only constant $MF-UNCHECKED               = #x00000000;
434define inline-only constant $MFS-CHECKED = $MF-CHECKED;
435define inline-only constant $MFS-DEFAULT = $MF-DEFAULT;
436define inline-only constant $MFS-DISABLED = $MFS-GRAYED;
437define inline-only constant $MFS-ENABLED = $MF-ENABLED;
438define inline-only constant $MFS-GRAYED                 = #x00000003;
439define inline-only constant $MFT-RADIOCHECK             = #x00000200;
440define inline-only constant $MFT-STRING  = $MF-STRING;
441define inline-only constant $MIIM-DATA                  = #x00000020;
442define inline-only constant $MIIM-ID                    = #x00000002;
443define inline-only constant $MIIM-STATE                 = #x00000001;
444define inline-only constant $MIIM-TYPE                  = #x00000010;
445define inline-only constant $MK-CONTROL                 = #x0008;
446define inline-only constant $MK-LBUTTON                 = #x0001;
447define inline-only constant $MK-MBUTTON                 = #x0010;
448define inline-only constant $MK-RBUTTON                 = #x0002;
449define inline-only constant $MK-SHIFT                   = #x0004;
450define inline-only constant $NM-DBLCLK                  =   -3;
451define inline-only constant $NM-RCLICK                  =   -5;
452define inline-only constant $NOTSRCCOPY                 = #x00330008;
453define inline-only constant $NOTSRCERASE                = #x001100A6;
454define inline-only constant $NULL-BRUSH                 =    5;
455define inline-only constant $NULL-PEN                   =    8;
456define inline-only constant $OEM-CHARSET                =  255;
457define inline-only constant $OFN-ALLOWMULTISELECT       = #x00000200;
458define inline-only constant $OFN-EXPLORER               = #x00080000;
459define inline-only constant $OFN-FILEMUSTEXIST          = #x00001000;
460define inline-only constant $OFN-HIDEREADONLY           = #x00000004;
461define inline-only constant $OFN-OVERWRITEPROMPT        = #x00000002;
462define inline-only constant $OUT-TT-PRECIS              =    4;
463define inline-only constant $PBM-SETPOS                 = #x402;
464define inline-only constant $PBM-SETRANGE               = #x401;
465define inline-only constant $PD-ALLPAGES                = #x00000000;
466define inline-only constant $PD-COLLATE                 = #x00000010;
467define inline-only constant $PD-PRINTSETUP              = #x00000040;
468define inline-only constant $PD-PRINTTOFILE             = #x00000020;
469define inline-only constant $PD-SHOWHELP                = #x00000800;
470define inline-only constant $PD-USEDEVMODECOPIES        = #x00040000;
471define inline-only constant $PS-DASH                    =    1;
472define inline-only constant $PS-DASHDOT                 =    3;
473define inline-only constant $PS-DASHDOTDOT              =    4;
474define inline-only constant $PS-DOT                     =    2;
475define inline-only constant $PS-SOLID                   =    0;
476define inline-only constant $R2-BLACK                   =    1;
477define inline-only constant $R2-COPYPEN                 =   13;
478define inline-only constant $R2-MASKNOTPEN              =    3;
479define inline-only constant $R2-MASKPEN                 =    9;
480define inline-only constant $R2-MASKPENNOT              =    5;
481define inline-only constant $R2-MERGENOTPEN             =   12;
482define inline-only constant $R2-MERGEPEN                =   15;
483define inline-only constant $R2-MERGEPENNOT             =   14;
484define inline-only constant $R2-NOP                     =   11;
485define inline-only constant $R2-NOT                     =    6;
486define inline-only constant $R2-NOTCOPYPEN              =    4;
487define inline-only constant $R2-NOTMASKPEN              =    8;
488define inline-only constant $R2-NOTMERGEPEN             =    2;
489define inline-only constant $R2-NOTXORPEN               =   10;
490define inline-only constant $R2-WHITE                   =   16;
491define inline-only constant $R2-XORPEN                  =    7;
492define inline-only constant $RGN-AND                    =    1;
493define inline-only constant $RGN-COPY                   =    5;
494define inline-only constant $RGN-DIFF                   =    4;
495define inline-only constant $RGN-OR                     =    2;
496define inline-only constant $RGN-XOR                    =    3;
497define inline-only constant $RT-BITMAP                  = MAKEINTRESOURCE(2);
498define inline-only constant $RT-CURSOR                  = MAKEINTRESOURCE(1);
499define inline-only constant $RT-DIALOG                  = MAKEINTRESOURCE(5);
500define inline-only constant $RT-ICON                    = MAKEINTRESOURCE(3);
501define inline-only constant $SB-BOTTOM                  =    7;
502define inline-only constant $SB-CTL                     =    2;
503define inline-only constant $SB-ENDSCROLL               =    8;
504define inline-only constant $SB-LINEDOWN                =    1;
505define inline-only constant $SB-LINEUP                  =    0;
506define inline-only constant $SB-PAGEDOWN                =    3;
507define inline-only constant $SB-PAGEUP                  =    2;
508define inline-only constant $SB-SETMINHEIGHT            = #x408;
509define inline-only constant $SB-SETPARTS                = #x404;
510define inline-only constant $SB-SETTEXT                = #x401;
511define inline-only constant $SB-THUMBPOSITION           =    4;
512define inline-only constant $SB-THUMBTRACK              =    5;
513define inline-only constant $SB-TOP                     =    6;
514define inline-only constant $SBARS-SIZEGRIP             = #x0100;
515define inline-only constant $SBS-HORZ                   = #x0000;
516define inline-only constant $SBS-VERT                   = #x0001;
517define inline-only constant $SBT-NOBORDERS              = #x0100;
518define inline-only constant $SIF-ALL                    = logior($SIF-RANGE, $SIF-PAGE, $SIF-POS, $SIF-TRACKPOS);
519define inline-only constant $SIF-PAGE                   = #x0002;
520define inline-only constant $SIF-POS                    = #x0004;
521define inline-only constant $SIF-RANGE                  = #x0001;
522define inline-only constant $SIF-TRACKPOS               = #x0010;
523define inline-only constant $SIZE-MAXIMIZED             =    2;
524define inline-only constant $SIZE-MINIMIZED             =    1;
525define inline-only constant $SIZE-RESTORED              =    0;
526define inline-only constant $SM-CMOUSEBUTTONS           =   43;
527define inline-only constant $SM-CXFULLSCREEN            =   16;
528define inline-only constant $SM-CXHSCROLL               =   21;
529define inline-only constant $SM-CXICON                  =   11;
530define inline-only constant $SM-CXSCREEN                =    0;
531define inline-only constant $SM-CXSMICON                =   49;
532define inline-only constant $SM-CXVSCROLL               =    2;
533define inline-only constant $SM-CYFULLSCREEN            =   17;
534define inline-only constant $SM-CYHSCROLL               =    3;
535define inline-only constant $SM-CYICON                  =   12;
536define inline-only constant $SM-CYMENU                  =   15;
537define inline-only constant $SM-CYSCREEN                =    1;
538define inline-only constant $SM-CYSMICON                =   50;
539define inline-only constant $SM-CYVSCROLL               =   20;
540define inline-only constant $SRCAND                     = #x008800C6;
541define inline-only constant $SRCCOPY                    = #x00CC0020;
542define inline-only constant $SRCERASE                   = #x00440328;
543define inline-only constant $SRCINVERT                  = #x00660046;
544define inline-only constant $SRCPAINT                   = #x00EE0086;
545define inline-only constant $SS-BITMAP                  = #x0000000E;
546define inline-only constant $SS-ICON                    = #x00000003;
547define inline-only constant $SS-LEFTNOWORDWRAP          = #x0000000C;
548define inline-only constant $STARTF-USESHOWWINDOW       = #x00000001;
549define inline-only constant $STM-SETIMAGE               = #x0172;
550define inline-only constant $SUBLANG-DEFAULT            = #x01;
551define inline-only constant $SW-HIDE                    =    0;
552define inline-only constant $SW-MAXIMIZE                =    3;
553define inline-only constant $SW-MINIMIZE                =    6;
554define inline-only constant $SW-RESTORE                 =    9;
555define inline-only constant $SW-SHOW                    =    5;
556define inline-only constant $SW-SHOWNORMAL              =    1;
557define inline-only constant $SWP-NOACTIVATE             = #x0010;
558define inline-only constant $SWP-NOMOVE                 = #x0002;
559define inline-only constant $SWP-NOSIZE                 = #x0001;
560define inline-only constant $SWP-NOZORDER               = #x0004;
561define inline-only constant $SYMBOL-CHARSET             =    2;
562define inline-only constant $SYSTEM-FONT                =   13;
563define inline-only constant $TA-BASELINE                =   24;
564define inline-only constant $TA-BOTTOM                  =    8;
565define inline-only constant $TA-CENTER                  =    6;
566define inline-only constant $TA-LEFT                    =    0;
567define inline-only constant $TA-RIGHT                   =    2;
568define inline-only constant $TA-TOP                     =    0;
569define inline-only constant $TB-BOTTOM                  =    7;
570define inline-only constant $TB-LINEDOWN                =    1;
571define inline-only constant $TB-LINEUP                  =    0;
572define inline-only constant $TB-PAGEDOWN                =    3;
573define inline-only constant $TB-PAGEUP                  =    2;
574define inline-only constant $TB-THUMBPOSITION           =    4;
575define inline-only constant $TB-THUMBTRACK              =    5;
576define inline-only constant $TB-TOP                     =    6;
577define inline-only constant $TBM-SETPOS                 = #x405;
578define inline-only constant $TBM-SETRANGE               = #x406;
579define inline-only constant $TBM-SETTICFREQ             = #x414;
580define inline-only constant $TBS-AUTOTICKS              = #x0001;
581define inline-only constant $TBS-HORZ                   = #x0000;
582define inline-only constant $TBS-VERT                   = #x0002;
583define inline-only constant $TCIF-TEXT                  = #x0001;
584define inline-only constant $TCM-ADJUSTRECT             = #x1328;
585define inline-only constant $TCM-DELETEALLITEMS         = #x1309;
586define inline-only constant $TCM-GETCURSEL              = #x130B;
587define inline-only constant $TCM-GETITEMRECT            = #x130A;
588define inline-only constant $TCM-INSERTITEM             = #x1307;
589define inline-only constant $TCM-SETCURSEL              = #x130C;
590define inline-only constant $TCN-KEYDOWN                = -550;
591define inline-only constant $TCN-SELCHANGE              = -551;
592define inline-only constant $TPM-BOTTOMALIGN            = #x0020;
593define inline-only constant $TPM-CENTERALIGN            = #x0004;
594define inline-only constant $TPM-LEFTALIGN              = #x0000;
595define inline-only constant $TPM-NONOTIFY               = #x0080;
596define inline-only constant $TPM-RETURNCMD              = #x0100;
597define inline-only constant $TPM-RIGHTALIGN             = #x0008;
598define inline-only constant $TPM-RIGHTBUTTON            = #x0002;
599define inline-only constant $TPM-TOPALIGN               = #x0000;
600define inline-only constant $TPM-VCENTERALIGN           = #x0010;
601define inline-only constant $TRANSPARENT                =    1;
602define inline-only constant $TTF-IDISHWND               = #x0001;
603define inline-only constant $TTF-SUBCLASS               = #x0010;
604define inline-only constant $TTM-ACTIVATE               = #x401;
605define inline-only constant $TTM-ADDTOOL                = #x404;
606define inline-only constant $TTM-DELTOOL                = #x405;
607define inline-only constant $TTN-GETDISPINFO           = -520;
608define inline-only constant $TTN-NEEDTEXT = $TTN-GETDISPINFO;
609define inline-only constant $TTS-ALWAYSTIP              = #x01;
610define inline-only constant $TTS-NOPREFIX               = #x02;
611define inline-only constant $TVE-COLLAPSE               = #x0001;
612define inline-only constant $TVE-COLLAPSERESET          = #x8000;
613define inline-only constant $TVE-EXPAND                 = #x0002;
614define inline-only constant $TVE-TOGGLE                 = #x0003;
615define inline-only constant $TVGN-CARET                 = #x0009;
616define inline-only constant $TVHT-ONITEM                = logior($TVHT-ONITEMICON, $TVHT-ONITEMLABEL, $TVHT-ONITEMSTATEICON);
617define inline-only constant $TVHT-ONITEMBUTTON          = #x0010;
618define inline-only constant $TVHT-ONITEMICON            = #x0002;
619define inline-only constant $TVHT-ONITEMLABEL           = #x0004;
620define inline-only constant $TVHT-ONITEMSTATEICON       = #x0040;
621define inline-only constant $TVI-LAST                   = make(<HTREEITEM>, address: as(<machine-word>, #xFFFF0002));
622define inline-only constant $TVI-ROOT                   = make(<HTREEITEM>, address: as(<machine-word>, #xFFFF0000));
623define inline-only constant $TVIF-CHILDREN              = #x0040;
624define inline-only constant $TVIF-IMAGE                 = #x0002;
625define inline-only constant $TVIF-SELECTEDIMAGE         = #x0020;
626define inline-only constant $TVIF-STATE                 = #x0008;
627define inline-only constant $TVIF-TEXT                  = #x0001;
628define inline-only constant $TVIS-SELECTED              = #x0002;
629define inline-only constant $TVM-DELETEITEM             = #x1101;
630define inline-only constant $TVM-ENSUREVISIBLE          = #x1114;
631define inline-only constant $TVM-EXPAND                 = #x1102;
632define inline-only constant $TVM-HITTEST                = #x1111;
633define inline-only constant $TVM-INSERTITEM             = #x1100;
634define inline-only constant $TVM-SELECTITEM             = #x110B;
635define inline-only constant $TVM-SETIMAGELIST           = #x1109;
636define inline-only constant $TVM-SETITEM                = #x110D;
637define inline-only constant $TVN-GETDISPINFO            = -403;
638define inline-only constant $TVN-ITEMEXPANDINGA         = -405;
639define inline-only constant $TVN-ITEMEXPANDINGW         = -454;
640define inline-only constant $TVN-KEYDOWN                = -412;
641define inline-only constant $TVN-SELCHANGEDA            = -402;
642define inline-only constant $TVN-SELCHANGEDW            = -451;
643define inline-only constant $TVS-HASBUTTONS             = #x0001;
644define inline-only constant $TVS-HASLINES               = #x0002;
645define inline-only constant $TVS-LINESATROOT            = #x0004;
646define inline-only constant $TVS-SHOWSELALWAYS          = #x0020;
647define inline-only constant $TVSIL-NORMAL               =    0;
648define inline-only constant $UDM-GETPOS                 = #x468;
649define inline-only constant $UDM-SETPOS                 = #x467;
650define inline-only constant $UDM-SETRANGE               = #x465;
651define inline-only constant $UDS-ARROWKEYS              = #x0020;
652define inline-only constant $UDS-AUTOBUDDY              = #x0010;
653define inline-only constant $UDS-HORZ                   = #x0040;
654define inline-only constant $UDS-WRAP                   = #x0001;
655define inline-only constant $VARIABLE-PITCH             =    2;
656define inline-only constant $VER-PLATFORM-WIN32-NT      =    2;
657define inline-only constant $VER-PLATFORM-WIN32-WINDOWS =    1;
658define inline-only constant $VER-PLATFORM-WIN32s        =    0;
659define inline-only constant $VERTSIZE                   =    6;
660define inline-only constant $VK-ADD                     = #x6B;
661define inline-only constant $VK-APPS                    = #x5D;
662define inline-only constant $VK-BACK                    = #x08;
663define inline-only constant $VK-CANCEL                  = #x03;
664define inline-only constant $VK-CAPITAL                 = #x14;
665define inline-only constant $VK-CLEAR                   = #x0C;
666define inline-only constant $VK-CONTROL                 = #x11;
667define inline-only constant $VK-DECIMAL                 = #x6E;
668define inline-only constant $VK-DELETE                  = #x2E;
669define inline-only constant $VK-DIVIDE                  = #x6F;
670define inline-only constant $VK-DOWN                    = #x28;
671define inline-only constant $VK-END                     = #x23;
672define inline-only constant $VK-ESCAPE                  = #x1B;
673define inline-only constant $VK-EXECUTE                 = #x2B;
674define inline-only constant $VK-F1                      = #x70;
675define inline-only constant $VK-F10                     = #x79;
676define inline-only constant $VK-F11                     = #x7A;
677define inline-only constant $VK-F12                     = #x7B;
678define inline-only constant $VK-F13                     = #x7C;
679define inline-only constant $VK-F14                     = #x7D;
680define inline-only constant $VK-F15                     = #x7E;
681define inline-only constant $VK-F16                     = #x7F;
682define inline-only constant $VK-F17                     = #x80;
683define inline-only constant $VK-F18                     = #x81;
684define inline-only constant $VK-F19                     = #x82;
685define inline-only constant $VK-F2                      = #x71;
686define inline-only constant $VK-F20                     = #x83;
687define inline-only constant $VK-F21                     = #x84;
688define inline-only constant $VK-F22                     = #x85;
689define inline-only constant $VK-F23                     = #x86;
690define inline-only constant $VK-F24                     = #x87;
691define inline-only constant $VK-F3                      = #x72;
692define inline-only constant $VK-F4                      = #x73;
693define inline-only constant $VK-F5                      = #x74;
694define inline-only constant $VK-F6                      = #x75;
695define inline-only constant $VK-F7                      = #x76;
696define inline-only constant $VK-F8                      = #x77;
697define inline-only constant $VK-F9                      = #x78;
698define inline-only constant $VK-HELP                    = #x2F;
699define inline-only constant $VK-HOME                    = #x24;
700define inline-only constant $VK-INSERT                  = #x2D;
701define inline-only constant $VK-LCONTROL                = #xA2;
702define inline-only constant $VK-LEFT                    = #x25;
703define inline-only constant $VK-LWIN                    = #x5B;
704define inline-only constant $VK-MENU                    = #x12;
705define inline-only constant $VK-MULTIPLY                = #x6A;
706define inline-only constant $VK-NEXT                    = #x22;
707define inline-only constant $VK-NUMLOCK                 = #x90;
708define inline-only constant $VK-NUMPAD0                 = #x60;
709define inline-only constant $VK-NUMPAD1                 = #x61;
710define inline-only constant $VK-NUMPAD2                 = #x62;
711define inline-only constant $VK-NUMPAD3                 = #x63;
712define inline-only constant $VK-NUMPAD4                 = #x64;
713define inline-only constant $VK-NUMPAD5                 = #x65;
714define inline-only constant $VK-NUMPAD6                 = #x66;
715define inline-only constant $VK-NUMPAD7                 = #x67;
716define inline-only constant $VK-NUMPAD8                 = #x68;
717define inline-only constant $VK-NUMPAD9                 = #x69;
718define inline-only constant $VK-PAUSE                   = #x13;
719define inline-only constant $VK-PRINT                   = #x2A;
720define inline-only constant $VK-PRIOR                   = #x21;
721define inline-only constant $VK-RETURN                  = #x0D;
722define inline-only constant $VK-RIGHT                   = #x27;
723define inline-only constant $VK-RMENU                   = #xA5;
724define inline-only constant $VK-RWIN                    = #x5C;
725define inline-only constant $VK-SCROLL                  = #x91;
726define inline-only constant $VK-SELECT                  = #x29;
727define inline-only constant $VK-SEPARATOR               = #x6C;
728define inline-only constant $VK-SHIFT                   = #x10;
729define inline-only constant $VK-SNAPSHOT                = #x2C;
730define inline-only constant $VK-SPACE                   = #x20;
731define inline-only constant $VK-SUBTRACT                = #x6D;
732define inline-only constant $VK-TAB                     = #x09;
733define inline-only constant $VK-UP                      = #x26;
734define inline-only constant $WA-INACTIVE                =    0;
735define inline-only constant $WHITE-BRUSH                =    0;
736define inline-only constant $WHITE-PEN                  =    6;
737define inline-only constant $WHITENESS                  = #x00FF0062;
738define inline-only constant $WM-ACTIVATE                = #x0006;
739define inline-only constant $WM-CHAR                    = #x0102;
740define inline-only constant $WM-CLOSE                   = #x0010;
741define inline-only constant $WM-COMMAND                 = #x0111;
742define inline-only constant $WM-DESTROY                 = #x0002;
743define inline-only constant $WM-ENABLE                  = #x000A;
744define inline-only constant $WM-ERASEBKGND              = #x0014;
745define inline-only constant $WM-GETMINMAXINFO           = #x0024;
746define inline-only constant $WM-GETTEXTLENGTH           = #x000E;
747define inline-only constant $WM-HOTKEY                  = #x0312;
748define inline-only constant $WM-HSCROLL                 = #x0114;
749define inline-only constant $WM-INITMENUPOPUP           = #x0117;
750define inline-only constant $WM-KEYDOWN                 = #x0100;
751define inline-only constant $WM-KEYUP                   = #x0101;
752define inline-only constant $WM-KILLFOCUS               = #x0008;
753define inline-only constant $WM-LBUTTONDBLCLK           = #x0203;
754define inline-only constant $WM-LBUTTONDOWN             = #x0201;
755define inline-only constant $WM-LBUTTONUP               = #x0202;
756define inline-only constant $WM-MBUTTONDBLCLK           = #x0209;
757define inline-only constant $WM-MBUTTONDOWN             = #x0207;
758define inline-only constant $WM-MBUTTONUP               = #x0208;
759define inline-only constant $WM-MENUSELECT              = #x011F;
760define inline-only constant $WM-MOUSEMOVE               = #x0200;
761define inline-only constant $WM-MOVE                    = #x0003;
762define inline-only constant $WM-NOTIFY                  = #x004E;
763define inline-only constant $WM-NULL                    = #x0000;
764define inline-only constant $WM-PAINT                   = #x000F;
765define inline-only constant $WM-RBUTTONDBLCLK           = #x0206;
766define inline-only constant $WM-RBUTTONDOWN             = #x0204;
767define inline-only constant $WM-RBUTTONUP               = #x0205;
768define inline-only constant $WM-SETCURSOR               = #x0020;
769define inline-only constant $WM-MOUSEWHEEL              = #x020A;
770define inline-only constant $WM-SETFOCUS                = #x0007;
771define inline-only constant $WM-SETFONT                 = #x0030;
772define inline-only constant $WM-SETICON                 = #x0080;
773define inline-only constant $WM-SETREDRAW               = #x000B;
774define inline-only constant $WM-SIZE                    = #x0005;
775define inline-only constant $WM-SYSCHAR                 = #x0106;
776define inline-only constant $WM-SYSKEYDOWN              = #x0104;
777define inline-only constant $WM-SYSKEYUP                = #x0105;
778define inline-only constant $WM-USER                    = #x0400;
779define inline-only constant $WM-VSCROLL                 = #x0115;
780define inline-only constant $WS-CAPTION                 = #x00C00000;
781define inline-only constant $WS-CHILD                   = as(<machine-word>, #x40000000);
782define inline-only constant $WS-CLIPSIBLINGS            = #x04000000;
783define inline-only constant $WS-DISABLED                = #x08000000;
784define inline-only constant $WS-EX-CLIENTEDGE           = #x00000200;
785define inline-only constant $WS-EX-CONTROLPARENT        = #x00010000;
786define inline-only constant $WS-EX-DLGMODALFRAME        = #x00000001;
787define inline-only constant $WS-EX-NOPARENTNOTIFY       = #x00000004;
788define inline-only constant $WS-EX-TOPMOST              = #x00000008;
789define inline-only constant $WS-GROUP                   = #x00020000;
790define inline-only constant $WS-HSCROLL                 = #x00100000;
791define inline-only constant $WS-MAXIMIZE                = #x01000000;
792define inline-only constant $WS-MAXIMIZEBOX             = #x00010000;
793define inline-only constant $WS-MINIMIZE                = as(<machine-word>, #x20000000);
794define inline-only constant $WS-ICONIC   = $WS-MINIMIZE;
795define inline-only constant $WS-MINIMIZEBOX             = #x00020000;
796define inline-only constant $WS-OVERLAPPED              = #x00000000;
797define inline-only constant $WS-OVERLAPPEDWINDOW        = logior($WS-OVERLAPPED, $WS-CAPTION, $WS-SYSMENU, $WS-THICKFRAME, $WS-MINIMIZEBOX, $WS-MAXIMIZEBOX);
798define inline-only constant $WS-SIZEBOX  = $WS-THICKFRAME;
799define inline-only constant $WS-SYSMENU                 = #x00080000;
800define inline-only constant $WS-TABSTOP                 = #x00010000;
801define inline-only constant $WS-THICKFRAME              = #x00040000;
802define inline-only constant $WS-VSCROLL                 = #x00200000;
803
804
805define constant $STATUSCLASSNAME = "msctls_statusbar32";
806define constant $TRACKBAR-CLASS = "msctls_trackbar32";
807define constant $PROGRESS-CLASS = "msctls_progress32";
808define constant $UPDOWN-CLASS  = "msctls_updown32";
809define constant $WC-LISTVIEW   = "SysListView32";
810define constant $WC-TABCONTROL = "SysTabControl32";
811define constant $WC-TREEVIEW   = "SysTreeView32";
812define constant $TOOLTIPS-CLASS = "tooltips_class32";
813