forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


@sendmsg codes...

 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Knowledge Base
View previous topic :: View next topic  
Author Message
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Tue Jul 16, 2002 3:57 am    Post subject: @sendmsg codes... Reply with quote

Here's more Windows message code numbers. HOWEVER...

These are ONLY the message numbers. You may need the Windows
SDK help file to obtain parameters (if needed - often they are zero).
Some of these will not work with VDS.

Occasionally entries have different codes for the same message.
This is usually for different versions of Windows. For example, NT4
and NT5 sometimes have different message numbers, and Win9x
may have yet another number for the same message.

If you find a message that works (especially one that's not in the
VDS API help file), PLEASE post the info and a short code example.

The last 4 digits are normally used in the @sendmsg() function with
a preceding "$". Here's an example for adding a horizontal scroll bar
to a list box ("LB_SETHORIZONTALEXTENT", message# is "0x0194",
"L1" is the list box name):

%z = @sendmsg(@winexists(~L1),$0194,2000,0)
__________________________________________________________________________________________________________________________
Code:

WARNING: Use at your own risk.

NOTES:
- BM, CB, EM, LB, and WM items with "*" are NOT in the VDS API help file.
- BM, CB, EM, LB, and WM items with "?" are in the VDS API help file, but
  under a different name.
- All messages other than BM, CB, EM, LB, and WM prefixes are NOT in the
  VDS API help file.

Prefix  Message category

BM      Button control
CB      Combo box control
EM      Edit control
LB      List box control
WM      General window

//Button Control Messages//
BM_CLICK           0x00F5
BM_GETCHECK        0x00F0
BM_GETIMAGE      * 0x00F6
BM_GETSTATE        0x00F2
BM_SETCHECK        0x00F1
BM_SETIMAGE      * 0x00F7
BM_SETSTATE        0x00F3
BM_SETSTYLE        0x00F4

//Combo Box Messages//
CB_ADDSTRING                0x0143
CB_DELETESTRING             0x0144
CB_DIR                      0x0145
CB_FINDSTRING               0x014C
CB_FINDSTRINGEXACT          0x0158
CB_GETCOUNT                 0x0146
CB_GETCURSEL                0x0147
CB_GETDROPPEDCONTROLRECT  * 0x0152
CB_GETDROPPEDSTATE          0x0157
CB_GETDROPPEDWIDTH          0x015f
CB_GETEDITSEL               0x0140
CB_GETEXTENDEDUI            0x0156
CB_GETHORIZONTALEXTENT    * 0x015d
CB_GETITEMDATA              0x0150
CB_GETITEMHEIGHT            0x0154
CB_GETLBTEXT              ? 0x0148
CB_GETLBTEXTLEN           ? 0x0149
CB_GETLOCALE                0x015A
CB_GETTOPINDEX              0x015b
CB_INITSTORAGE              0x0161
CB_INSERTSTRING             0x014A
CB_LIMITTEXT                0x0141
CB_MSGMAX                 * 0x015B
CB_MSGMAX                 * 0x0162
CB_MSGMAX                 * 0x0163
CB_MULTIPLEADDSTRING      * 0x0163
CB_RESETCONTENT             0x014B
CB_SELECTSTRING             0x014D
CB_SETCURSEL                0x014E
CB_SETDROPPEDWIDTH          0x0160
CB_SETEDITSEL               0x0142
CB_SETEXTENDEDUI            0x0155
CB_SETHORIZONTALEXTENT    * 0x015e
CB_SETITEMDATA              0x0151
CB_SETITEMHEIGHT            0x0153
CB_SETLOCALE                0x0159
CB_SETTOPINDEX              0x015c
CB_SHOWDROPDOWN           ? 0x014F

//Edit Control Messages//
EM_CANUNDO              0x00C6
EM_CHARFROMPOS          0x00D7
EM_EMPTYUNDOBUFFER      0x00CD
EM_FMTLINES             0x00C8
EM_GETFIRSTVISIBLELINE  0x00CE
EM_GETHANDLE            0x00BD
EM_GETIMESTATUS       * 0x00D9
EM_GETLIMITTEXT         0x00D5
EM_GETLINE              0x00C4
EM_GETLINECOUNT         0x00BA
EM_GETMARGINS           0x00D4
EM_GETMODIFY            0x00B8
EM_GETPASSWORDCHAR      0x00D2
EM_GETRECT            * 0x00B2
EM_GETSEL               0x00B0
EM_GETTHUMB           * 0x00BE
EM_GETWORDBREAKPROC   * 0x00D1
EM_LIMITTEXT          ? 0x00C5
EM_LINEFROMCHAR         0x00C9
EM_LINEINDEX            0x00BB
EM_LINELENGTH           0x00C1
EM_LINESCROLL           0x00B6
EM_POSFROMCHAR          0x00D6
EM_REPLACESEL           0x00C2
EM_SCROLL               0x00B5
EM_SCROLLCARET          0x00B7
EM_SETHANDLE            0x00BC
EM_SETIMESTATUS       * 0x00D8
EM_SETLIMITTEXT         0x00C5 // Same as EM_LIMITTEXT
EM_SETMARGINS           0x00D3
EM_SETMODIFY            0x00B9
EM_SETPASSWORDCHAR      0x00CC
EM_SETREADONLY          0x00CF
EM_SETRECT            * 0x00B3
EM_SETRECTNP          * 0x00B4
EM_SETSEL               0x00B1
EM_SETTABSTOPS        * 0x00CB
EM_SETWORDBREAKPROC   * 0x00D0
EM_UNDO                 0x00C7

//Listbox Messages//
LB_ADDFILE              0x0196
LB_ADDSTRING            0x0180
LB_DELETESTRING         0x0182
LB_DIR                  0x018D
LB_FINDSTRING           0x018F
LB_FINDSTRINGEXACT      0x01A2
LB_GETANCHORINDEX       0x019D
LB_GETCARETINDEX        0x019F
LB_GETCOUNT             0x018B
LB_GETCURSEL            0x0188
LB_GETHORIZONTALEXTENT  0x0193
LB_GETITEMDATA          0x0199
LB_GETITEMHEIGHT        0x01A1
LB_GETITEMRECT        * 0x0198
LB_GETLOCALE            0x01A6
LB_GETSEL               0x0187
LB_GETSELCOUNT        * 0x0190
LB_GETSELITEMS        * 0x0191
LB_GETTEXT              0x0189
LB_GETTEXTLEN           0x018A
LB_GETTOPINDEX          0x018E
LB_INITSTORAGE          0x01A8
LB_INSERTSTRING         0x0181
LB_ITEMFROMPOINT      * 0x01A9
LB_MSGMAX             * 0x01A8
LB_MSGMAX             * 0x01B0
LB_MSGMAX             * 0x01B1
LB_MULTIPLEADDSTRING  * 0x01B1
LB_RESETCONTENT         0x0184
LB_SELECTSTRING         0x018C
LB_SELITEMRANGE       * 0x019B
LB_SELITEMRANGEEX     * 0x0183
LB_SETANCHORINDEX       0x019C
LB_SETCARETINDEX        0x019E
LB_SETCOLUMNWIDTH     * 0x0195
LB_SETCOUNT           * 0x01A7
LB_SETCURSEL            0x0186
LB_SETHORIZONTALEXTENT  0x0194
LB_SETITEMDATA          0x019A
LB_SETITEMHEIGHT        0x01A0
LB_SETLOCALE            0x01A5
LB_SETSEL             * 0x0185
LB_SETTABSTOPS        * 0x0192
LB_SETTOPINDEX          0x0197

//Window Messages//
WM_ACTIVATE                     0x0006
WM_ACTIVATEAPP                * 0x001C
WM_AFXFIRST                   * 0x0360
WM_AFXLAST                    * 0x037F
WM_APP                        * 0x8000
WM_APPCOMMAND                 * 0x0319
WM_ASKCBFORMATNAME            * 0x030C
WM_CANCELJOURNAL              * 0x004B
WM_CANCELMODE                 * 0x001F
WM_CAPTURECHANGED             * 0x0215
WM_CHANGECBCHAIN              * 0x030D
WM_CHANGEUISTATE              * 0x0127
WM_CHAR                       * 0x0102
WM_CHARTOITEM                 * 0x002F
WM_CHILDACTIVATE              * 0x0022
WM_CLEAR                        0x0303
WM_CLOSE                        0x0010
WM_COMMAND                    * 0x0111
WM_COMMNOTIFY                 * 0x0044  // no longer suported
WM_COMPACTING                 * 0x0041
WM_COMPAREITEM                * 0x0039
WM_CONTEXTMENU                * 0x007B
WM_COPY                         0x0301
WM_COPYDATA                   * 0x004A
WM_CREATE                     * 0x0001
WM_CTLCOLORBTN                * 0x0135
WM_CTLCOLORDLG                * 0x0136
WM_CTLCOLOREDIT               * 0x0133
WM_CTLCOLORLISTBOX            * 0x0134
WM_CTLCOLORMSGBOX             * 0x0132
WM_CTLCOLORSCROLLBAR          * 0x0137
WM_CTLCOLORSTATIC             * 0x0138
WM_CUT                          0x0300
WM_DEADCHAR                   * 0x0103
WM_DELETEITEM                 * 0x002D
WM_DESTROY                      0x0002
WM_DESTROYCLIPBOARD           * 0x0307
WM_DEVICECHANGE               * 0x0219
WM_DEVMODECHANGE              * 0x001B
WM_DISPLAYCHANGE              * 0x007E
WM_DRAWCLIPBOARD              * 0x0308
WM_DRAWITEM                   * 0x002B
WM_DROPFILES                  * 0x0233
WM_ENABLE                       0x000A
WM_ENDSESSION                   0x0016
WM_ENTERIDLE                  * 0x0121
WM_ENTERMENULOOP                0x0211
WM_ENTERSIZEMOVE              * 0x0231
WM_ERASEBKGND                   0x0014
WM_EXITMENULOOP                 0x0212
WM_EXITSIZEMOVE               * 0x0232
WM_FONTCHANGE                   0x001D
WM_GETDLGCODE                 * 0x0087
WM_GETFONT                      0x0031
WM_GETHOTKEY                  * 0x0033
WM_GETICON                      0x007F
WM_GETMINMAXINFO              * 0x0024
WM_GETOBJECT                  * 0x003D
WM_GETTEXT                      0x000D
WM_GETTEXTLENGTH                0x000E
WM_HANDHELDFIRST              * 0x0358
WM_HANDHELDLAST               * 0x035F
WM_HELP                       * 0x0053
WM_HOTKEY                     * 0x0312
WM_HSCROLL                    * 0x0114
WM_HSCROLLCLIPBOARD           * 0x030E
WM_ICONERASEBKGND             * 0x0027
WM_IME_CHAR                   * 0x0286
WM_IME_COMPOSITION            * 0x010F
WM_IME_COMPOSITIONFULL        * 0x0284
WM_IME_CONTROL                * 0x0283
WM_IME_ENDCOMPOSITION         * 0x010E
WM_IME_KEYDOWN                * 0x0290
WM_IME_KEYLAST                * 0x010F
WM_IME_KEYUP                  * 0x0291
WM_IME_NOTIFY                 * 0x0282
WM_IME_REQUEST                * 0x0288
WM_IME_SELECT                 * 0x0285
WM_IME_SETCONTEXT             * 0x0281
WM_IME_STARTCOMPOSITION       * 0x010D
WM_INITDIALOG                 * 0x0110
WM_INITMENU                   * 0x0116
WM_INITMENUPOPUP              * 0x0117
WM_INPUTLANGCHANGE            * 0x0051
WM_INPUTLANGCHANGEREQUEST     * 0x0050
WM_KEYDOWN                    * 0x0100
WM_KEYFIRST                   * 0x0100
WM_KEYLAST                    * 0x0108
WM_KEYUP                      * 0x0101
WM_KILLFOCUS                    0x0008
WM_LBUTTONDBLCLK                0x0203
WM_LBUTTONDOWN                  0x0201
WM_LBUTTONUP                    0x0202
WM_MBUTTONDBLCLK                0x0209
WM_MBUTTONDOWN                  0x0207
WM_MBUTTONUP                    0x0208
WM_MDIACTIVATE                * 0x0222
WM_MDICASCADE                 * 0x0227
WM_MDICREATE                  * 0x0220
WM_MDIDESTROY                 * 0x0221
WM_MDIGETACTIVE               * 0x0229
WM_MDIICONARRANGE             * 0x0228
WM_MDIMAXIMIZE                * 0x0225
WM_MDINEXT                    * 0x0224
WM_MDIREFRESHMENU             * 0x0234
WM_MDIRESTORE                 * 0x0223
WM_MDISETMENU                 * 0x0230
WM_MDITILE                    * 0x0226
WM_MEASUREITEM                * 0x002C
WM_MENUCHAR                   * 0x0120
WM_MENUCOMMAND                * 0x0126
WM_MENUDRAG                   * 0x0123
WM_MENUGETOBJECT              * 0x0124
WM_MENURBUTTONUP              * 0x0122
WM_MENUSELECT                 * 0x011F
WM_MOUSEACTIVATE              * 0x0021
WM_MOUSEFIRST                 * 0x0200
WM_MOUSEHOVER                 * 0x02A1
WM_MOUSELAST                  * 0x0209
WM_MOUSELAST                  * 0x020A
WM_MOUSELAST                  * 0x020D
WM_MOUSELEAVE                 * 0x02A3
WM_MOUSEMOVE                  * 0x0200
WM_MOUSEWHEEL                 * 0x020A
WM_MOVE                       * 0x0003
WM_MOVING                     * 0x0216
WM_NCACTIVATE                   0x0086
WM_NCCALCSIZE                 * 0x0083
WM_NCCREATE                   * 0x0081
WM_NCDESTROY                    0x0082
WM_NCHITTEST                  * 0x0084
WM_NCLBUTTONDBLCLK            * 0x00A3
WM_NCLBUTTONDOWN              * 0x00A1
WM_NCLBUTTONUP                * 0x00A2
WM_NCMBUTTONDBLCLK            * 0x00A9
WM_NCMBUTTONDOWN              * 0x00A7
WM_NCMBUTTONUP                * 0x00A8
WM_NCMOUSEHOVER               * 0x02A0
WM_NCMOUSELEAVE               * 0x02A2
WM_NCMOUSEMOVE                * 0x00A0
WM_NCPAINT                      0x0085
WM_NCRBUTTONDBLCLK            * 0x00A6
WM_NCRBUTTONDOWN              * 0x00A4
WM_NCRBUTTONUP                * 0x00A5
WM_NCXBUTTONDBLCLK            * 0x00AD
WM_NCXBUTTONDOWN              * 0x00AB
WM_NCXBUTTONUP                * 0x00AC
WM_NEXTDLGCTL                 * 0x0028
WM_NEXTMENU                   * 0x0213
WM_NOTIFY                     * 0x004E
WM_NOTIFYFORMAT               * 0x0055
WM_NULL                       * 0x0000
WM_PAINT                        0x000F
WM_PAINTCLIPBOARD             * 0x0309
WM_PAINTICON                  * 0x0026
WM_PALETTECHANGED             * 0x0311
WM_PALETTEISCHANGING          * 0x0310
WM_PARENTNOTIFY               * 0x0210
WM_PASTE                        0x0302
WM_PENWINFIRST                * 0x0380
WM_PENWINLAST                 * 0x038F
WM_POWER                      * 0x0048
WM_POWERBROADCAST             * 0x0218
WM_PRINT                      * 0x0317
WM_PRINTCLIENT                * 0x0318
WM_QUERYDRAGICON                0x0037
WM_QUERYENDSESSION              0x0011
WM_QUERYNEWPALETTE              0x030F
WM_QUERYOPEN                    0x0013
WM_QUERYUISTATE               * 0x0129
WM_QUEUESYNC                  * 0x0023
WM_QUIT                       * 0x0012
WM_RBUTTONDBLCLK                0x0206
WM_RBUTTONDOWN                  0x0204
WM_RBUTTONUP                    0x0205
WM_RENDERALLFORMATS             0x0306
WM_RENDERFORMAT                 0x0305
WM_SETCURSOR                  * 0x0020
WM_SETFOCUS                     0x0007
WM_SETFONT                      0x0030
WM_SETHOTKEY                  * 0x0032
WM_SETICON                      0x0080
WM_SETREDRAW                    0x000B
WM_SETTEXT                      0x000C
WM_SETTINGCHANGE              * 0x001A // Same as WM_WININICHANGE
WM_SHOWWINDOW                   0x0018
WM_SIZE                       * 0x0005
WM_SIZECLIPBOARD              * 0x030B
WM_SIZING                     * 0x0214
WM_SPOOLERSTATUS              * 0x002A
WM_STYLECHANGED               * 0x007D
WM_STYLECHANGING              * 0x007C
WM_SYNCPAINT                  * 0x0088
WM_SYSCHAR                    * 0x0106
WM_SYSCOLORCHANGE               0x0015
WM_SYSCOMMAND                 * 0x0112
WM_SYSDEADCHAR                * 0x0107
WM_SYSKEYDOWN                 * 0x0104
WM_SYSKEYUP                   * 0x0105
WM_TCARD                      * 0x0052
WM_TIMECHANGE                   0x001E
WM_TIMER                      * 0x0113
WM_UNDO                         0x0304
WM_UNINITMENUPOPUP            * 0x0125
WM_UPDATEUISTATE              * 0x0128
WM_USERCHANGED                  0x0054
WM_VKEYTOITEM                 * 0x002E
WM_VSCROLL                    * 0x0115
WM_VSCROLLCLIPBOARD           * 0x030A
WM_WINDOWPOSCHANGED           * 0x0047
WM_WINDOWPOSCHANGING          * 0x0046
WM_WININICHANGE               * 0x001A
WM_XBUTTONDBLCLK              * 0x020D
WM_XBUTTONDOWN                * 0x020B
WM_XBUTTONUP                  * 0x020C

------- These messages/flags are NOT in the VDS API help file -------
WARNING: Use at your own risk.

Prefix  Message category

ABM     Application desktop toolbar
CDM     Common dialog box
DBT     Device
DL      Drag list box
DM      Default push button control
HDM     Header control
LVM     List view control
PBM     Progress bar
PSM     Property sheet
SB      Status bar window
SBM     Scroll bar control
STM     Static control
TB      Toolbar
TBM     Trackbar
TCM     Tab control
TTM     Tooltip control
TVM     Tree-view control
UDM     Up-down control

//Application desktop toolbar//
ABM_ACTIVATE         0x00000006  // lParam == TRUE/FALSE means activate/deactivate
ABM_GETAUTOHIDEBAR   0x00000007
ABM_GETSTATE         0x00000004
ABM_GETTASKBARPOS    0x00000005
ABM_NEW              0x00000000
ABM_QUERYPOS         0x00000002
ABM_REMOVE           0x00000001
ABM_SETAUTOHIDEBAR   0x00000008  // This can fail, you MUST check the result
ABM_SETPOS           0x00000003
ABM_WINDOWPOSCHANGED 0x0000009

//Common dialog box//
CDM_GETFILEPATH         (CDM_FIRST + 0x0001)
CDM_GETFOLDERIDLIST     (CDM_FIRST + 0x0003)
CDM_GETFOLDERPATH       (CDM_FIRST + 0x0002)
CDM_GETSPEC             (CDM_FIRST + 0x0000)
CDM_HIDECONTROL         (CDM_FIRST + 0x0005)
CDM_SETCONTROLTEXT      (CDM_FIRST + 0x0004)
CDM_SETDEFEXT           (CDM_FIRST + 0x0006)

//Device//
DBT_APPYBEGIN                   0x0000
DBT_APPYEND                     0x0001
DBT_CONFIGCHANGECANCELED        0x0019
DBT_CONFIGCHANGED               0x0018
DBT_CONFIGMGAPI32               0x0022
DBT_CONFIGMGPRIVATE             0x7FFF
DBT_CUSTOMEVENT                 0x8006  // User-defined event
DBT_DEVICEARRIVAL               0x8000  // System detected a new device
DBT_DEVICEQUERYREMOVE           0x8001  // Wants to remove, may fail
DBT_DEVICEQUERYREMOVEFAILED     0x8002  // Removal aborted
DBT_DEVICEREMOVECOMPLETE        0x8004  // Device is gone
DBT_DEVICEREMOVEPENDING         0x8003  // About to remove, still avail.
DBT_DEVICETYPESPECIFIC          0x8005  // Type specific event
DBT_DEVNODES_CHANGED            0x0007
DBT_DEVTYP_DEVICEINTERFACE      0x00000005  // Device interface class
DBT_DEVTYP_DEVNODE              0x00000001  // Devnode number
DBT_DEVTYP_HANDLE               0x00000006  // File system handle
DBT_DEVTYP_NET                  0x00000004  // Network resource
DBT_DEVTYP_OEM                  0x00000000  // Oem-defined device type
DBT_DEVTYP_PORT                 0x00000003  // Serial, parallel
DBT_DEVTYP_VOLUME               0x00000002  // Logical volume
DBT_LOW_DISK_SPACE              0x0048
DBT_MONITORCHANGE               0x001B
DBT_NO_DISK_SPACE               0x0047
DBT_QUERYCHANGECONFIG           0x0017
DBT_SHELLLOGGEDON               0x0020
DBT_USERDEFINED                 0xFFFF
DBT_VOLLOCKLOCKFAILED           0x8043
DBT_VOLLOCKLOCKRELEASED         0x8045
DBT_VOLLOCKLOCKTAKEN            0x8042
DBT_VOLLOCKQUERYLOCK            0x8041
DBT_VOLLOCKQUERYUNLOCK          0x8044
DBT_VOLLOCKUNLOCKFAILED         0x8046
DBT_VPOWERDAPI                  0x8100 // VPOWERD API for Win95
DBT_VXDINITCOMPLETE             0x0023

//Default push button control//
DM_BITSPERPEL       0x00040000L
DM_COLLATE          0x00008000L
DM_COLOR            0x00000800L
DM_COPIES           0x00000100L
DM_DEFAULTSOURCE    0x00000200L
DM_DISPLAYFLAGS     0x00200000L
DM_DISPLAYFREQUENCY 0x00400000L
DM_DITHERTYPE       0x04000000L
DM_DUPLEX           0x00001000L
DM_FORMNAME         0x00010000L
DM_GRAYSCALE        0x00000001 // This flag is no longer valid
DM_ICMINTENT        0x01000000L
DM_ICMMETHOD        0x00800000L
DM_INTERLACED       0x00000002 // This flag is no longer valid
DM_LOGPIXELS        0x00020000L
DM_MEDIATYPE        0x02000000L
DM_NUP              0x00000040L
DM_ORIENTATION      0x00000001L
DM_PANNINGHEIGHT    0x10000000L
DM_PANNINGWIDTH     0x08000000L
DM_PAPERLENGTH      0x00000004L
DM_PAPERSIZE        0x00000002L
DM_PAPERWIDTH       0x00000008L
DM_PELSHEIGHT       0x00100000L
DM_PELSWIDTH        0x00080000L
DM_POSITION         0x00000020L
DM_PRINTQUALITY     0x00000400L
DM_SCALE            0x00000010L
DM_SPECVERSION      0x0320
DM_SPECVERSION      0x0400
DM_SPECVERSION      0x0401
DM_TTOPTION         0x00004000L
DM_YRESOLUTION      0x00002000L

//Header control//
HDM_FIRST           0x1200

//List view control//
LVM_FIRST           0x1000

//Status bar window//
SB_CONST_ALPHA      0x00000001
SB_GRAD_RECT        0x00000010
SB_GRAD_TRI         0x00000020
SB_NONE             0x00000000
SB_PIXEL_ALPHA      0x00000002
SB_PREMULT_ALPHA    0x00000004
SB_SIMPLEID         0x00ff

//Scroll bar control//
SBM_ENABLE_ARROWS           0x00E4 // Not in win3.1
SBM_GETPOS                  0x00E1 // Not in win3.1
SBM_GETRANGE                0x00E3 // Not in win3.1
SBM_GETSCROLLINFO           0x00EA
SBM_SETPOS                  0x00E0 // Not in win3.1
SBM_SETRANGE                0x00E2 // Not in win3.1
SBM_SETRANGEREDRAW          0x00E6 // Not in win3.1
SBM_SETSCROLLINFO           0x00E9

//Static control//
STM_GETICON                 0x0171
STM_GETIMAGE                0x0173
STM_MSGMAX                  0x0174
STM_ONLY_THIS_INTERFACE     0x00000001
STM_ONLY_THIS_NAME          0x00000008
STM_ONLY_THIS_PROTOCOL      0x00000002
STM_ONLY_THIS_TYPE          0x00000004
STM_SETICON                 0x0170
STM_SETIMAGE                0x0172

//Tab control//
TCM_FIRST                   0x1300

EDIT1 - Added "*" and "?" to entries. See notes at top.
EDIT2 - Added SBM (Scroll Bar Control) and STM (Static Control)
messages, and a list of messages and their prefixes.
EDIT3 - Added remaining messages (all I could find), separated
BM, CB, EM, LB, and WM messages from the rest.

Cheers, Mac Smile

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361


Last edited by Mac on Thu Jul 18, 2002 10:53 pm; edited 5 times in total
Back to top
View user's profile Send private message Send e-mail
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1562

PostPosted: Tue Jul 16, 2002 5:24 am    Post subject: Reply with quote

Unfortunately I already went threw almost all of these when I compiled that vds api help file. There might be a few that will work with the newer versions of VDS, such as for multi edit's and for menus though.
Back to top
View user's profile Send private message
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Tue Jul 16, 2002 9:42 pm    Post subject: Reply with quote

Hey Prakash,

I didn't realize you were the author of the VDS API
help file. You did a great job (as usual). Smile

Anyway, myself and some others have been wanting
these for a while. As you mentioned, VDS 3 and later
have more features, so hopefully we can find a few
more useful messages.

It's also possible that some of the basic commands will
be compatible, since VDS 3 was so drastically changed...

Cheers, Mac Smile

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Tue Jul 16, 2002 10:49 pm    Post subject: Reply with quote

OK, so we (myself anyway) don't re-invent the wheel here...

Added "*" to messages that are NOT in the VDS API help file.

Added "?" to messages that are in the VDS API help file, but
under a different name.

Cheers, Mac Smile

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Wed Jul 17, 2002 12:56 am    Post subject: Reply with quote

Well, here's a start...

The WM_CHAR message sends a char to a specific edit box.
It works even if the dialog isn't active or is minimized, and
doesn't take the focus from another element.
Tested on Win95.
Code:

rem -- WM_CHAR sends a char to an edit box.
rem -- wParam = scan code of the character to send
rem -- lParam = zero
rem -- Message ID = $0102

OPTION SCALE, 96
OPTION DECIMALSEP, "."
TITLE By Mac
DIALOG CREATE,Test prog,-1,0,300,30
  DIALOG ADD,EDIT,E1,5,5,290,20
DIALOG SHOW

:EVLOOP
  REPEAT
    WAIT
    rem -- Send "a" (scan code 97) to the edit box (E1) --
    %z = @sendmsg(@winexists(~E1),$0102,97,0)
  UNTIL @event()

:CLOSE
  EXIT

Cheers, Mac

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
PGWARE
Web Host


Joined: 29 Dec 2001
Posts: 1562

PostPosted: Wed Jul 17, 2002 1:24 am    Post subject: Reply with quote

Yup Mac I made it along time ago. But I don't take all the credit for it, many of the messages were provided by the vds community and (sorry I forgot his name) a member of the vds community with a great .exe file with many api messages in it. Also with the help of Julian Moss I got many more API messages. Tommy and Garrett were also very helpful with API messages and testing. Sorry if I missed anyone else.


I eventually gave the .hlp file to SADE to distribute Smile Maybe the .hlp file can eventually be translated over to the new html help system .chm and add in any new api's you and others can find Smile
Back to top
View user's profile Send private message
Tommy
Admin Team


Joined: 16 Nov 2002
Posts: 746
Location: The Netherlands

PostPosted: Wed Jul 17, 2002 2:54 am    Post subject: Reply with quote

I think this is the tool Prakash is talking about:

http://www.vdsworld.com/index.php?page=search&keywords=sendmsg&search=GO

As you can see it's written by Matt Roberts.

Tommy
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Wed Jul 17, 2002 5:18 am    Post subject: Reply with quote

I've edited the list to include a few messages for Scroll Bars
(SBM) and Static Controls (STM). There's more, but it's gonna take
a while to find 'em (they're scattered throughout the C++Builder
header files). I have no idea how many we can use (if any)...

Here's the available messages shown in my SDK version:
Code:

Prefix  Message category

ABM     Application desktop toolbar
BM      Button control
CB      Combo box control
CDM     Common dialog box
DBT     Device
DL      Drag list box
DM      Default push button control
EM      Edit control
HDM     Header control
LB      List box control
LVM     List view control
PBM     Progress bar
PSM     Property sheet
SB      Status bar window
SBM     Scroll bar control
STM     Static control
TB      Toolbar
TBM     Trackbar
TCM     Tab control
TTM     Tooltip control
TVM     Tree-view control
UDM     Up-down control
WM      General window


Cheers, Mac Smile

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Thu Jul 18, 2002 10:55 pm    Post subject: Reply with quote

Added remaining messages that I could find.

Cheers, Mac Smile

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
laurent_H
Contributor
Contributor


Joined: 30 Jun 2001
Posts: 60

PostPosted: Fri Jul 19, 2002 7:10 am    Post subject: Reply with quote

Hi,

I wondered if someone had tested the TVM
the treeview control

It must be intesresting control, isn't ?

_________________
Thanks
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Fri Jul 26, 2002 12:52 pm    Post subject: Reply with quote

Hello, I was just surfing on the Internet, and found this:

http://msdn.microsoft.com/library/en-us/winprog/winprog/windows_api_reference.asp?

It's a lot of API stuff, directly from Microsoft.

I only haven't seen the message identifiers, but is it able to get them by VDS functions?
Back to top
View user's profile Send private message
Mac
Professional Member
Professional Member


Joined: 08 Jul 2000
Posts: 1585
Location: Oklahoma USA

PostPosted: Fri Jul 26, 2002 5:35 pm    Post subject: Reply with quote

That's the complete Windows API code. The only thing
that VDS can use are the "messages" (starts with WM_,
BM_, etc.). I found the message codes that I posted by
searching thru Borland's C++ Builder "include" files
(using the "string search" program I posted in the VDS3
source code section).

Cheers, Mac Smile

_________________
VDSug.dll does file IO, check/disable menu items,
non-VDS dlls, draw functions and more...
Free download (30k dll size) at:
http://www.vdsworld.com/download.php?id=361
Back to top
View user's profile Send private message Send e-mail
Tommy
Admin Team


Joined: 16 Nov 2002
Posts: 746
Location: The Netherlands

PostPosted: Mon Aug 05, 2002 10:44 am    Post subject: Reply with quote

Here's a script which illustrates the use of the LB_ITEMFROMPOINT API message.
Please note that the code was derived from the work of Eugene Trifonov, the author
of mouseindex.dll.

Some of the conversion routines which are used may contain small errors. The
decimal-binary conversion routines for example don't support for negative numbers.
There may also be easier ways to convert.

Code:

  title Test
  option decimalsep,.
  DIALOG CREATE,MouseIndex_Test,-1,0,381,215,CLASS VDSMOUSE
  DIALOG ADD,LIST,LIST1,4,8,180,204
  DIALOG ADD,EDIT,EDIT1,28,200,172,24
  DIALOG ADD,TEXT,TEXT1,11,200,,,List index position:
  DIALOG SHOW
  list loadfile,list1,mousetest.txt
:Evloop
  %E = @event()
  if %E
    goto %E
  end
     
  %%window = #VDSMOUSE
  %%control = LIST1
  gosub getmouseitem

  dialog set,EDIT1,%%index
  if @greater(%%index,-1)
    list seek,LIST1,%%index
  end
  wait 0.1
  goto evloop
:getmouseitem
  %x = @diff(@mousepos(X),@succ(@winpos(~%%control,L)))
  %y = @diff(@mousepos(Y),@sum(@winpos(~%%control,T),2))
  if @greater(0,%x)@greater(0,%y)@greater(@succ(%x),@dlgpos(%%control,W))@greater(@succ(%y),@dlgpos(%%control,H))
    %%result = 1
    %%index = 65535
  else
    %%dec = %x
    %%try = 32768
    gosub dec2bin
    %%low = %%bin
 
    %%dec = %y
    %%try = 32768
    gosub dec2bin
    %%high = %%bin
 
    %%bin = %%high%%low
    gosub bin2dec
    %%dec = @sendmsg(~%%control,$01A9,0,%%dec)
    %%resultdec = %%dec
 
    %%try = 2147483648
    gosub dec2bin
    %%high = @substr(%%bin,1,16)
    %%low = @substr(%%bin,17,32)
 
    %%bin = %%high
    gosub bin2dec
    %%result = %%dec
 
    %%bin = %%low
    gosub bin2dec
    %%index = %%dec
  end
  if @equal(%%result,1)
    %%index = -1
  end
  exit
:dec2bin
  %%bin =
  %%next =
  repeat
    if %%next
      %%try = @fdiv(%%try,2)
    else
      %%next = 1
    end
    %%dectry = @fsub(%%dec,%%try)
    if @not(@greater(0,%%dectry))
      %%dec = %%dectry
      %%bin = %%bin"1"
    else
      %%bin = %%bin"0"
    end
  until @equal(%%try,1)
  exit
:bin2dec
  %%dec = 0
  %%val = 1
  %i = @len(%%bin)
  repeat
    if @equal(@substr(%%bin,%i),1)
      %%dec = @fadd(%%dec,%%val)
    end
    %i = @pred(%i)
    %%val = @fmul(%%val,2)
  until @equal(%i,0)
  exit
:Close
  exit

Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Knowledge Base All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group