Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: boxcontrols boxcontrolsudf multiline edit boxes combo boxes checkboxes,
The BoxControlsUDF.WBT file includes User Defined Functions, which make the DllCalls to the CreateWindowExA entry point in USER32.DLL, for the ComboBox, Listbox, EditBox, MultiLine EditBox, Progress bar and Pushbutton controls.
Run Examples.WBT to see how each of these controls look. Uncomment the various "Goto ..." in the example below and run it to view each of the example controls.
In this example, the box is always centered so you only have to worry about the box width and height.
These look best on 800x600. Note that sometimes you get different results depending on what OS you are using. For some reason focus works a little differently on NT vs. Win9x.
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;BoxControls 2.0 Examples ; ;All boxes have a constant size and are unresizable, they will look the same in ; ;any resolution. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Control Manager Extender (OPTIONAL) ;AddExtender("WWCTL34I.DLL") #include "boxcontrolsudf.wbt" ;USE GOTO TO VIEW EXAMPLES ;Goto buttons ;Buttons / GroupBox ;Goto combobox ;ComboBox ;Goto progressbar ;ProgressBar / StatusBar ;Goto multiline ;Multiline edit / Static Goto animate ;AVI Animation ;Goto splash ;Bitmap inside box ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Buttons / GroupBox example ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; :buttons ;Messages BM_GETSTATE = 242 ;Constant box size in any resolution, unresizable, unmaximizable and centered. hwnd = Dllhwnd("") FixBox(hwnd, ~262144&~65536) ;Unresizable, unmaximizable. newsize = ConvertToConstantSize(800, 600, "0,0,441,507") ;Constant newpos = Centerpos(newsize) ;Centered ;Create box and hide it while it is being constructed BoxesUp("%newpos%", @icon) BoxTitle("Buttons / GroupBox") ;Default window color BoxColor(1, "192,192,192", 0) BoxDrawRect(1, "0,0,1000,1000", 2) ;Push buttons hpush1 = PushButton(5, 30, 200, 80, 30, "OK", 1) hpush2 = PushButton(6, 230, 200, 80, 30, "Cancel", 0) ;GroupBox GroupBox(7, 60, 20, 220, 150, "Select") ;Text text= strcat("CheckBox",@crlf,@crlf,"Radio1",@crlf,@crlf,"Radio2",@crlf,@crlf,"3State") BoxDrawTextEx(90, 44, 80, 115, 1, "%newpos%", text, @true, 0) ;Check, radio, 3state hbox = Button(1, 70, 45, 3) ;box hradio1 = Button(2, 70, 77, 9) ;radio hradio2 = Button(3, 70, 109, 9);radio h3state = Button(4, 70, 141, 6);3state ;Show box when it is finished BoxesUp("%newpos%", @normal) ;Wait for the user to hit a button :begin1 ok=0 While ok==0 ;Loop until OK is pushed ;Get pushbuttons state, you can use cSendMessage from CM EX with same sintaxis, ;IntControl22 does not work. ok = SendMessage(hpush1, BM_GETSTATE, 0, 0) ;returns nonzero when pushed canc = SendMessage(hpush2, BM_GETSTATE, 0, 0);returns nonzero when pushed If canc<>0 Then Exit ;Exit if cancel is pushed EndWhile ;Get selection, you can use cCheckBox from CM EX, IntControl22 does not work. result1 = SendMessage(hbox, BM_GETSTATE, 0, 0) result2 = SendMessage(hradio1, BM_GETSTATE, 0, 0) result3 = SendMessage(hradio2, BM_GETSTATE, 0, 0) result4 = SendMessage(h3state, BM_GETSTATE, 0, 0) Message("Settings:", StrCat("Check: ", result1, @CRLF, "Radio1: ", result2, @CRLF, "Radio2: ", result3, @CRLF, "3State: ", result4)) Goto begin1 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;ComboBox example ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; :combobox ;Messages CB_ADDSTRING = 323 CB_SELECTSTRING = 333 ;Create box hwnd = Dllhwnd("") FixBox(hwnd, ~262144&~65536) newsize = ConvertToConstantSize(800, 600, "250,375,750,625") newpos = Centerpos(newsize) BoxesUp("%newpos%", @normal) BoxTitle("ComboBox") BoxColor(1, "200,204,248", 0) BoxDrawRect(1, "0,0,1000,1000", 2) ;Text BoxDrawTextEx(20, 50, 130, 35, 1, "%newpos%", "Hit CTRL to select.%@crlf%SHIFT to exit.", @true, 0) ;ComboBox hcombo = combobox(1, 10, 10, 200, 100) ;Add items IntControl(22, hcombo, CB_ADDSTRING, 0, "Blue") IntControl(22, hcombo, CB_ADDSTRING, 0, "Red") IntControl(22, hcombo, CB_ADDSTRING, 0, "Green") ;You can set an item at the begining IntControl(22, hcombo, CB_SELECTSTRING, 0, "Red") ;Wait for selection While 1 If Iskeydown(@CTRL)==@TRUE ;Get selection text = GetWindowText(hcombo, 100, 0) ;Using API ;text = cGetEditText(hcombo) ;Using Control Manager EX Message("Choice:", text) EndIf If Iskeydown(@SHIFT)==@TRUE Then Exit EndWhile ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Progressbar / Statusbar example ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; :progressbar ;Messages PBM_SETPOS = 1026 PBM_SETRANGE32 = 1030 PBM_SETBARCOLOR = 1033 PBM_SETBKCOLOR = 8193 ;Create box hwnd = Dllhwnd("") FixBox(hwnd, ~262144&~65536) newsize = ConvertToConstantSize(800, 600, "0,0,500,250") newpos = Centerpos(newsize) BoxesUp("%newpos%", @normal) Boxtitle("Progress") BoxColor(1, "192,192,192", 0) BoxDrawRect(1, "0,0,1000,1000", 2) ;Progress bar hprog = ProgressBar(1, 20, 40, 350, 15, 0|0) ;Set range and color(it does not work with IntControl22) SendMessage(hprog, PBM_SETRANGE32, 0, 1000) SendMessage(hprog, PBM_SETBKCOLOR, 0, 0) SendMessage(hprog, PBM_SETBARCOLOR, 0, 32768) ;Status bar hstatus = StatusBar(2, 256) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;COLOR EXPLANATION: ; ;Color is in RGB format (Red Green Blue), amount of each color from 0 to 255. ; ;Value must be converted to decimal: ; ;Bar color red: 255 0 0 (dec) --> FF 0 0 (hex) --> 255 (dec) ; ;BK color yellow: 0 255 255 (dec) --> 0 FF FF (hex) --> 65535 (dec) ; ;Use any drawing program to get the values. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; hwnd = Dllhwnd("") EnableWindow(hwnd, 0) ;Disable box while processing SetWindowText(hstatus, "Box disabled.") ;Set status bar text BoxDataTag(1,"TAG") For x=1 to 1000 BoxText(StrCat(@CRLF, " ", x, " of 1000")) ;SendMessage(hprog, PBM_SETPOS, x, 0) ;Set position using API IntControl(22, hprog, PBM_SETPOS, x, 0) ;Set position using IntControl22, faster? BoxDataClear(1,"TAG") Next EnableWindow(hwnd, 1) ;Enable box SetWindowText(hstatus, "Box enabled.") ;Set status bar text BoxText(StrCat(@CRLF, " ", x-1, " of 1000", @CRLF, @CRLF, @CRLF, " Hit CTRL to close.")) While 1 If Iskeydown(@CTRL)==@TRUE Then Exit Endwhile ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Multiline Edit example ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; :multiline ;Messages BM_GETSTATE = 242 ;Create box hwnd = Dllhwnd("") FixBox(hwnd, ~262144&~65536) newsize = ConvertToConstantSize(800, 600, "296,230,735,770") newpos = Centerpos(newsize) BoxesUp("%newpos%", @normal) BoxTitle("Multiline Edit") BoxColor(1, "192,192,192", 0) BoxDrawRect(1, "0,0,1000,1000", 2) ;Text BoxDrawTextEx(25, 20, 150, 15, 1, "%newpos%", "Enter text:", @true, 0) ;Border line Static(4, 10, 225, 325, 0, "", 16) ;Push Buttons hpush1 = PushButton(1, 25, 240, 60, 25, "OK", 1) hpush2 = PushButton(2, 255, 240, 60, 25, "Cancel", 0) ;Multiline Edit hmulti = MultiLineEdit(3, 23, 40, 295, 170, 0, 0, 0) ;Wait for the user to hit a button :begin2 SetFocus(hmulti) ;Set focus on multiedit control. ok=0 While ok==0 ;Loop until OK is pushed ok = SendMessage(hpush1, BM_GETSTATE, 0, 0) ;returns nonzero when pushed canc = SendMessage(hpush2, BM_GETSTATE, 0, 0);returns nonzero when pushed If canc<>0 Then Exit ;Exit if cancel is pushed EndWhile ;Get multiline contents txt = GetWindowText(hmulti, 1000, 0) ;Using API ;txt = cGetEditText(hmulti) ;Using Control Manager EX Message("Multiline Contents:", txt) Goto begin2 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Animate control example using a SHELL32.DLL AVI clip. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; :animate ;Animate control messages ACM_OPENA = 1124 ACM_PLAY = 1125 ACM_STOP = 1126 ;Create box hwnd = Dllhwnd("") FixBox(hwnd, ~262144&~524288) newsize = ConvertToConstantSize(800, 600, "250,375,750,625") newpos = Centerpos(newsize) BoxesUp("%newpos%", @normal) BoxTitle("Animate Control") BoxColor(1, "192,192,192", 0) BoxDrawRect(1, "0,0,1000,1000", 2) ;Get handle of the module that contains the windows animations library = StrCat(DirWindows(1), "SHELL32.DLL") handlemodule = LoadLibrary(library) ;Free library FreeLibrary(handlemodule) ;Create Animate control (transparent to match the default window color) hanimate = Animate(1, 20, 10, 70, 70, 1130|256) ;Open animation Flashlight SendMessage(hanimate, ACM_OPENA, handlemodule, 150) ;Play animation SendMessage(hanimate, ACM_PLAY, -1, 0|-1) ;Do processing BoxDataTag(1,"TAG") for x=0 to 1999 boxtext(strcat(@crlf,@tab,@tab,"Searching files... ", x)) BoxDataClear(1,"TAG") next boxtext(strcat(@crlf,@tab,@tab,"Searching files... ", x,@crlf,@tab,@tab,"Complete.")) ;Stop animation SendMessage(hanimate, ACM_STOP, 0, 0) timedelay(3) ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Splash screen example ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; :splash ;Messages IMAGE_BITMAP = 0 LR_LOADFROMFILE = 16 SRCCOPY = 13369376 ;Ceate box hInst = DllHinst("") hwnd = dllhwnd("") FixBox(hwnd, 8388608) ;Popup mode with border newsize = ConvertToConstantSize(800, 600, "0,0,375,510") ;Constant size newpos = Centerpos(newsize) ;Centered BoxesUp("%newpos%", @ICON) ;Hide box while processing ;Load bitmap hbitmap = LoadImage(hInst, "xenoost.bmp", IMAGE_BITMAP, 300, 304, LR_LOADFROMFILE) ;Get the DC associated with the box hdc = GetDC(hwnd) ;Get a DC that is of the same size and type of DC we pass in image_dc = CreateCompatibleDC(hdc) ;Select the bitmap object into the specified DC old_hbitmap = SelectObject(image_dc, hbitmap) ;Show box BoxesUp("%newpos%", @NORMAL) ;Transfer data from source DC to destination DC BitBlt(hdc, 0, 0, 300, 304, image_dc, 0, 0, SRCCOPY) ;Do processing timedelay(10) ;Free resources SelectObject(image_dc, old_hbitmap) DeleteObject(hbitmap) ReleaseDC(hwnd, hdc) DeleteDC(image_dc) ;END
;BoxControls 2.0 ;Window Controls & Pictures inside Boxes. ;See examples.wbt ;Guido 11/01 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;ComboBox ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;Returns: control handle ; ;Basic messages: CB_ADDSTRING = 323 ; ; CB_SELECTSTRING = 333 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction ComboBox(id, x, y, Width, Height) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hcombo = DLLCall(sDLLName,long:"CreateWindowExA",long:512,lpstr:"ComboBox",long:0,long:2|16384 << 16|4096 << 16|32 << 16|128,long:x,long:y,long:Width,long:Height,long:hWndParent,long:Id,long:hInstance,long:0) Return hcombo #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;ListBox ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;mode : 0 single selection ; ; 8 multiple selection ; ;Returns: control handle ; ;Basic messages: LB_ADDSTRING = 384 ; ; LB_RESETCONTENT = 388 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction ListBox(id, x, y, Width, Height, mode) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hlist = DLLCall(sDLLName,long:"CreateWindowExA",long:512,lpstr:"ListBox",long:0,long:16384 << 16|1024|4096 << 16|32 << 16|128|mode,long:x,long:y,long:Width,long:Height,long:hWndParent,long:Id,long:hInstance,long:0) Return hlist #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;EditBox ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;Returns: control handle ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction EditBox(id, x, y, Width, Height) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hedit = DLLCall(sDLLName,long:"CreateWindowExA",long:512,lpstr:"Edit",long:0,long:16384 << 16|4096 << 16|128|1 << 16,long:x,long:y,long:Width,long:Height,long:hWndParent,long:Id,long:hInstance,long:0) Return hedit #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;MultiLine EditBox ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;hscroll: 1 horizontal scroll bar ; ; 0 no horizontal scroll bar ; ;vscroll: 1 vertical scroll bar ; ; 0 no vertical scroll bar ; ;mode : 0 edit ; ; 2048 read only ; ;Returns: control handle ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction MultiLineEdit(id, x, y, width, height, hscroll, vscroll, mode) If hscroll==1 Then hscroll = 1048576 Else hscroll=0 If vscroll==1 Then vscroll = 2097152 Else vscroll=0 hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hmulti = DLLCall(sDLLName,long:"CreateWindowExA",long:512,lpstr:"Edit",long:0,long:4|4096|16384 << 16|4096 << 16|1 << 16|0|hscroll|vscroll|mode,long:x,long:y,long:Width,long:Height,long:hWndParent,long:Id,long:hInstance,long:0) Return hmulti #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Progress Bar ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;flags : 1 smooth ; ; 0 splitted ; ; 0 horizontal ; ; 4 vertical ; ;Returns: control handle ; ;Basic messages : PBM_SETPOS = 1026 ; ; PBM_SETRANGE32 = 1030 ; ; PBM_SETBARCOLOR = 1033 ; ; PBM_SETBKCOLOR = 8193 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction ProgressBar(id, x, y, width, height, flags) dll = StrCat(DirWindows(1),"user32.dll") hwnd = Dllhwnd("") hinst = Dllhinst("") hprog = Dllcall(dll,long:"CreateWindowExA",long:0,lpstr:"msctls_progress32",lpstr:"",long:flags|268435456|1073741824,long:x,long:y,long:width,long:height,long:hwnd,long:id,long:hinst,long:0) Return hprog #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Check, Radio and 3State buttons ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;type : 3 checkbox button ; ; 9 radio button (grey background) ; ; 6 3state button ; ;Returns: control handle ; ;Basic messages: BM_GETSTATE = 242 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction Button(id, x, y, type) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hbut = DLLCall(sDLLName,long:"CreateWindowExA",long:0,lpstr:"Button",long:0,long:16384<<16|4096 <<16|type,long:x,long:y,long:13,long:13,long:hWndParent,long:Id,long:hInstance,long:0) Return hbut #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;GetWindowText: Gets the window title or text of the control. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hwnd : handle of the window or control. ; ;bufsize : size of the buffer that will recieve the text. ; ;read : maximum number of characters to copy to the buffer, or 0 to fill the ; ; whole buffer. ; ;returns : contents of the buffer(string). ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction GetWindowText(hwnd, bufsize, read) If read==0 Then read=bufsize+1 Else read=read+1 sDLLName = StrCat(DirWindows(1), "user32.dll") buftext = binaryalloc(bufsize) DLLCall(sDLLName, long:"GetWindowTextA", long:hwnd, lpbinary:buftext, long:read) BinaryEodSet(buftext, bufsize) contents = BinaryPeekstr(buftext, 0, read) BinaryFree(buftext) Return contents #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;SetWindowText :Changes the text of the window’s title or the text of the control.; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hwnd : handle of the window or control. ; ;text : new title or control text. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction SetWindowText(hwnd, text) sDLLName = StrCat(DirWindows(1), "user32.dll") result = DLLCall(sDLLName, long:"SetWindowTextA", long:hwnd, lpstr:text) Return result #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;PushButton ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;text : button text ; ;flags : 0 normal button ; ; 1 default button ; ;Returns: control handle ; ;Basic message: BM_GETSTATE = 242 ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction PushButton(id, x, y, width, height, text, flags) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hbut = DLLCall(sDLLName,long:"CreateWindowExA",long:0,lpstr:"Button",long:0,long:16384<<16|4096 <<16|flags,long:x,long:y,long:width,long:height,long:hWndParent,long:Id,long:hInstance,long:0) SetWindowText(hbut, text) ;Set text using API. ;cSetWndText(hbut, text) ;Set text using control manager EX. Return hbut #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Static : Displays a static text(grey background), use BoxTextEx for varying text ; ; or to change the font. ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;height : height in pixels ; ;text : text to display in the label ; ;flags : 1 center ; ; 0 left ; ; 2 right ; ; 16 draws a simple line of the especified width ; ; 4096 the label will have a 3d border ; ;Returns: control handle ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction Static(id, x, y, width, height, text, flags) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hstatic = DLLCall(sDLLName,long:"CreateWindowExA",long:256,lpstr:"Static",long:0,long:16384 << 16|4096 << 16|128|flags,long:x,long:y,long:Width,long:Height,long:hWndParent,long:Id,long:hInstance,long:0) SetWindowText(hstatic, text) Return hstatic #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;GroupBox ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;heigth : height in pixels ; ;text : text to display at the top left (grey background) ; ;Returns: control handle ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction GroupBox(id, x, y, width, height, text) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hgroup = DLLCall(sDLLName,long:"CreateWindowExA",long:32,lpstr:"Button",long:0,long:16384 << 16|4096 << 16|7,long:x,long:y,long:Width,long:Height,long:hWndParent,long:Id,long:hInstance,long:0) SetWindowText(hgroup, text) Return hgroup #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Status bar : Simple status bar, one division only. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;id : control id ; ;text : text to display ; ;flags : 256 client edge ; ; 512 window edge ; ;Returns : control handle ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction StatusBar(id, flags) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hstatus = DLLCall(sDLLName,long:"CreateWindowExA",long:flags,lpstr:"msctls_statusbar32",long:0,long:16384 << 16|4096 << 16,long:0,long:0,long:0,long:0,long:hWndParent,long:id,long:hInstance,long:0) Return hstatus #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;EnableWindow : Disables mouse and keyboard input to the box avoiding slow down ; ; when moving the cursor over it. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hwnd : handle of the window or control ; ;action : 0 disable window ; ; 1 enable window ; ;Returns: true if succeeds, zero if it fails. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction EnableWindow(hwnd, action) sDLLName = StrCat(DirWindows(1), "user32.DLL") result = DLLCall(sDLLName, long:"EnableWindow", long:hwnd, long:action) Return result #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;SendMessage : Sends the specified message to a window or windows. ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hwnd : window(control) handle whose window procedure will receive the message. ; ; ;wMsg : message to be sent. ; ;wParam : additional message-specific information. ; ;lParam : additional message-specific information. ; ; ;Returns: result of the message processing, depends on the message sent. ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction SendMessage(hwnd, wMsg, wParam, lParam) sDLLName = StrCat(DirWindows(1), "user32.dll") result = DLLCall(sDLLName, long:"SendMessageA", long:hwnd, long:wMsg, long:wParam, long:lParam) Return result #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;SetFocus : Sets the keyboard focus to the specified window or control. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hwnd : handle of the window or control that will receive the keyboard input. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction SetFocus(hwnd) sDLLName = StrCat(DirWindows(1), "user32.dll") result = DLLCall(sDLLName, long:"SetFocus", long:hwnd) Return result #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;ConvertToConstantSize : Constant box size in any resolution. ; ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;origXres, origYres : original resolution ; ;coord : box coordinates ; ;Returns : new box coordinates ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction ConvertToConstantSize(origXres, origYres, coord) X = WinMetrics(0) Y = WinMetrics(1) x1 = ItemExtract(1, coord, ",") y1 = ItemExtract(2, coord, ",") x2 = ItemExtract(3, coord, ",") y2 = ItemExtract(4, coord, ",") x1new = (x1 * origXres) / X y1new = (y1 * origYres) /Y x2new = (x2 * origXres) / X y2new = (y2 * origYres) / Y Return StrCat(x1new, ",", y1new, ",", x2new, ",", y2new) #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;CenterPos : Centers a box on the screen. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;coord : box coordinates ; ;Returns : new box coordinates ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction CenterPos(coord) x1 = ItemExtract(1, coord, ",") y1 = ItemExtract(2, coord, ",") x2 = ItemExtract(3, coord, ",") y2 = ItemExtract(4, coord, ",") w = x2-x1 h = y2-y1 x1new = (1000-w)/2 y1new = (1000-h)/2 x2new = x1new + w y2new = y1new + h Return StrCat(x1new, ",", y1new, ",", x2new, ",", y2new) #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;FixBox : Sets window style. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hwnd : window handle ; ;flags : Use '&' to combine flags ; ; ~262144 unresizable ; ; ~65536 remove maximize ; ; ~131072 remove minimize ; ; ~12582912 remove caption ; ; ~524288 remove system menu ; ; 2147483648 pop up mode ; ; 8388608 pop up mode with border ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction FixBox(hwnd, flags) User32 = StrCat(DirWindows(1),"USER32.DLL") OldStyle = DllCall(User32, long:"GetWindowLongA", long:hwnd, long:-16) NewStyle = OldStyle & flags result = DllCall(User32, long:"SetWindowLongA", long:hwnd, long:-16, long:NewStyle) Return result #EndFunction ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;BoxDrawTextEx : Draws a rectangle with text. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;x : pixels from left of parent window ; ;y : pixels from top of parent window ; ;width : width in pixels ; ;heigth : height in pixels ; ;bID : box id ; ;bcoord : box coordinates ; ;text : text to display ; ;flag : @TRUE if background should be cleared; @FALSE if it shouldn't ; ;alignment:0 left justified ; ; 1 centered horizontally ; ; 2 right-justified ; ; 4 centered vertically ; ; 8 bottom-justified (single line only) ; ; 16 wrap long lines ; ; 32 adjust font so that text fills width of bounding rectangle ; ; (single line only) ; ; 64 right-justify text by adding space between words ; ; 128 clip (truncate) text if it doesn't fit within specified rectangle ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction BoxDrawTextEx(x, y, w, h, bID, bcoord, text, flag, alignment) xres = winmetrics(0) yres = winmetrics(1) bx1 = itemextract(1,bcoord,",") by1 = itemextract(2,bcoord,",") bx2 = itemextract(3,bcoord,",") by2 = itemextract(4,bcoord,",") ;Box dimensions in units bwu = bx2-bx1 bhu = by2-by1 ;Client area dimensions in pixels cw = ((bwu*xres)/1000)-8 ch = ((bhu*yres)/1000)-27 ;TextRect coordinates in units x1 = (x*1000) / cw y1 = (y*1000) / ch x2 = x1 + (w*1000)/cw y2 = y1 + (h*1000)/ch coord = StrCat(x1,",",y1,",",x2,",",y2) Execute BoxDrawText(bID, "%coord%", text, flag, alignment) #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;LoadLibrary : Maps the specified executable module into the address space of the ; ;calling process. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;FileName :A string that names the executable module (either a .DLL or .EXE file).; ;Returns :If the function succeeds, the return value is a handle to the module. ; ; If the function fails, the return value is NULL. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction LoadLibrary(FileName) sDLLName = StrCat(DirWindows(1), "kernel32.dll") hLibModule = DLLCall(sDLLName, long:"LoadLibraryA", lpstr:FileName) Return hLibModule #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;FreeLibrary : Decrements the reference count of the loaded DLL module. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;hLibModule : Identifies the loaded library module. ; ;Returns : If the function succeeds, the return value is nonzero. ; ; If the function fails, the return value is zero. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction FreeLibrary(hLibModule) sDLLName = StrCat(DirWindows(1), "kernel32.dll") result = DLLCall(sDLLName, long:"FreeLibrary", long:hLibModule) Return result #EndFunction ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;Animate :Creates an .avi animation control ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; ;See help file. ; ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~; #DefineFunction Animate(id, x, y, width, height, flags) hWndParent = DLLhWnd("") hInstance = DLLhInst("") sDLLName = StrCat(DirWindows(1), "User32.DLL") hanimate = DLLCall(sDLLName,long:"CreateWindowExA",long:0,lpstr:"SysAnimate32",long:0,long:16384 << 16|4096 << 16|flags,long:x,long:y,long:width,long:height,long:hWndParent,long:Id,long:hInstance,long:0) Return hanimate #EndFunction ; ;See help file #DefineFunction LoadImage(hInst, name, type, width, height, load) sDLLName = StrCat(DirWindows(1), "user32.dll") himage = DLLCall(sDLLName, long:"LoadImageA", long:hInst,lpstr:name, long:type, long:width, long:height, long:load) Return himage #EndFunction ; ;See help file #DefineFunction GetDC(hwnd) sDLLName = StrCat(DirWindows(1), "user32.dll") hdc = DLLCall(sDLLName, long:"GetDC", long:hwnd) Return hdc #EndFunction ; ;See help file #DefineFunction CreateCompatibleDC(hdc) sDLLName = StrCat(DirWindows(1), "gdi32.dll") hcdc = DLLCall(sDLLName, long:"CreateCompatibleDC", long:hdc) Return hcdc #EndFunction ; ;See help file #DefineFunction BitBlt(hDestDC, x, y, width, height, hSrcDC, xSrc, ySrc, dwRop) sDLLName = StrCat(DirWindows(1), "gdi32.dll") result =DLLCall(sDLLName, long:"BitBlt", long:hDestDC, long:x, long:y, long:width, long:height, long:hSrcDC, long:xSrc, long:ySrc, long:dwRop) Return result #EndFunction ; ;See help file #DefineFunction SelectObject(hdc, hObject) sDLLName = StrCat(DirWindows(1), "gdi32.dll") hobject = DLLCall(sDLLName, long:"SelectObject", long:hdc, long:hObject) Return hobject #EndFunction ; ;See help file #DefineFunction DeleteObject(hObject) sDLLName = StrCat(DirWindows(1), "gdi32.dll") result = DLLCall(sDLLName, long:"DeleteObject", long:hObject) Return result #EndFunction ; ;See help file #DefineFunction ReleaseDC(hwnd, hdc) sDLLName = StrCat(DirWindows(1), "user32.dll") result = DLLCall(sDLLName, long:"ReleaseDC", long:hwnd, long:hdc) Return result #EndFunction ; ;See help file #DefineFunction DeleteDC(hdc) sDLLName = StrCat(DirWindows(1), "gdi32.dll") result = DLLCall(sDLLName, long:"DeleteDC", long:hdc) Return result #EndFunction ;END
Guido's help files in HTMLand to download all of Guido's examples, including a BMP for the splash example:
All of Guido's Example Code
Values to use in dwStyle or intcontrol. Convert to decimal to use it in WinBatch. ********************************************************************* * EDIT CONTROL * ********************************************************************* ' Edit Control Styles Public Const ES_LEFT = &H0& Public Const ES_CENTER = &H1& Public Const ES_RIGHT = &H2& Public Const ES_MULTILINE = &H4& Public Const ES_UPPERCASE = &H8& Public Const ES_LOWERCASE = &H10& Public Const ES_PASSWORD = &H20& Public Const ES_AUTOVSCROLL = &H40& Public Const ES_AUTOHSCROLL = &H80& Public Const ES_NOHIDESEL = &H100& Public Const ES_OEMCONVERT = &H400& Public Const ES_READONLY = &H800& Public Const ES_WANTRETURN = &H1000& ' Edit Control Notification Codes Public Const EN_SETFOCUS = &H100 Public Const EN_KILLFOCUS = &H200 Public Const EN_CHANGE = &H300 Public Const EN_UPDATE = &H400 Public Const EN_ERRSPACE = &H500 Public Const EN_MAXTEXT = &H501 Public Const EN_HSCROLL = &H601 Public Const EN_VSCROLL = &H602 ' Edit Control Messages Public Const EM_GETSEL = &HB0 Public Const EM_SETSEL = &HB1 Public Const EM_GETRECT = &HB2 Public Const EM_SETRECT = &HB3 Public Const EM_SETRECTNP = &HB4 Public Const EM_SCROLL = &HB5 Public Const EM_LINESCROLL = &HB6 Public Const EM_SCROLLCARET = &HB7 Public Const EM_GETMODIFY = &HB8 Public Const EM_SETMODIFY = &HB9 Public Const EM_GETLINECOUNT = &HBA Public Const EM_LINEINDEX = &HBB Public Const EM_SETHANDLE = &HBC Public Const EM_GETHANDLE = &HBD Public Const EM_GETTHUMB = &HBE Public Const EM_LINELENGTH = &HC1 Public Const EM_REPLACESEL = &HC2 Public Const EM_GETLINE = &HC4 Public Const EM_LIMITTEXT = &HC5 Public Const EM_CANUNDO = &HC6 Public Const EM_UNDO = &HC7 Public Const EM_FMTLINES = &HC8 Public Const EM_LINEFROMCHAR = &HC9 Public Const EM_SETTABSTOPS = &HCB Public Const EM_SETPASSWORDCHAR = &HCC Public Const EM_EMPTYUNDOBUFFER = &HCD Public Const EM_GETFIRSTVISIBLELINE = &HCE Public Const EM_SETREADONLY = &HCF Public Const EM_SETWORDBREAKPROC = &HD0 Public Const EM_GETWORDBREAKPROC = &HD1 Public Const EM_GETPASSWORDCHAR = &HD2 ********************************************************************* * BUTTON CONTROL * ********************************************************************* ' Button Control Styles Public Const BS_PUSHBUTTON = &H0& Public Const BS_DEFPUSHBUTTON = &H1& Public Const BS_CHECKBOX = &H2& Public Const BS_AUTOCHECKBOX = &H3& Public Const BS_RADIOBUTTON = &H4& Public Const BS_3STATE = &H5& Public Const BS_AUTO3STATE = &H6& Public Const BS_GROUPBOX = &H7& Public Const BS_USERBUTTON = &H8& Public Const BS_AUTORADIOBUTTON = &H9& Public Const BS_OWNERDRAW = &HB& Public Const BS_LEFTTEXT = &H20& ' User Button Notification Codes Public Const BN_CLICKED = 0 Public Const BN_PAINT = 1 Public Const BN_HILITE = 2 Public Const BN_UNHILITE = 3 Public Const BN_DISABLE = 4 Public Const BN_DOUBLECLICKED = 5 ' Button Control Messages Public Const BM_GETCHECK = &HF0 Public Const BM_SETCHECK = &HF1 Public Const BM_GETSTATE = &HF2 Public Const BM_SETSTATE = &HF3 Public Const BM_SETSTYLE = &HF4 ********************************************************************* * LIST BOX CONTROL * ********************************************************************* ' Listbox messages Public Const LB_ADDSTRING = &H180 Public Const LB_INSERTSTRING = &H181 Public Const LB_DELETESTRING = &H182 Public Const LB_SELITEMRANGEEX = &H183 Public Const LB_RESETCONTENT = &H184 Public Const LB_SETSEL = &H185 Public Const LB_SETCURSEL = &H186 Public Const LB_GETSEL = &H187 Public Const LB_GETCURSEL = &H188 Public Const LB_GETTEXT = &H189 Public Const LB_GETTEXTLEN = &H18A Public Const LB_GETCOUNT = &H18B Public Const LB_SELECTSTRING = &H18C Public Const LB_DIR = &H18D Public Const LB_GETTOPINDEX = &H18E Public Const LB_FINDSTRING = &H18F Public Const LB_GETSELCOUNT = &H190 Public Const LB_GETSELITEMS = &H191 Public Const LB_SETTABSTOPS = &H192 Public Const LB_GETHORIZONTALEXTENT = &H193 Public Const LB_SETHORIZONTALEXTENT = &H194 Public Const LB_SETCOLUMNWIDTH = &H195 Public Const LB_ADDFILE = &H196 Public Const LB_SETTOPINDEX = &H197 Public Const LB_GETITEMRECT = &H198 Public Const LB_GETITEMDATA = &H199 Public Const LB_SETITEMDATA = &H19A Public Const LB_SELITEMRANGE = &H19B Public Const LB_SETANCHORINDEX = &H19C Public Const LB_GETANCHORINDEX = &H19D Public Const LB_SETCARETINDEX = &H19E Public Const LB_GETCARETINDEX = &H19F Public Const LB_SETITEMHEIGHT = &H1A0 Public Const LB_GETITEMHEIGHT = &H1A1 Public Const LB_FINDSTRINGEXACT = &H1A2 Public Const LB_SETLOCALE = &H1A5 Public Const LB_GETLOCALE = &H1A6 Public Const LB_SETCOUNT = &H1A7 Public Const LB_MSGMAX = &H1A8 ' Listbox Styles Public Const LBS_NOTIFY = &H1& Public Const LBS_SORT = &H2& Public Const LBS_NOREDRAW = &H4& Public Const LBS_MULTIPLESEL = &H8& Public Const LBS_OWNERDRAWFIXED = &H10& Public Const LBS_OWNERDRAWVARIABLE = &H20& Public Const LBS_HASSTRINGS = &H40& Public Const LBS_USETABSTOPS = &H80& Public Const LBS_NOINTEGRALHEIGHT = &H100& Public Const LBS_MULTICOLUMN = &H200& Public Const LBS_WANTKEYBOARDINPUT = &H400& Public Const LBS_EXTENDEDSEL = &H800& Public Const LBS_DISABLENOSCROLL = &H1000& Public Const LBS_NODATA = &H2000& Public Const LBS_STANDARD = (LBS_NOTIFY Or LBS_SORT Or WS_VSCROLL Or WS_BORDER) ********************************************************************* * COMBO BOX CONTROL * ********************************************************************* ' Combo Box Notification Codes Public Const CBN_ERRSPACE = (-1) Public Const CBN_SELCHANGE = 1 Public Const CBN_DBLCLK = 2 Public Const CBN_SETFOCUS = 3 Public Const CBN_KILLFOCUS = 4 Public Const CBN_EDITCHANGE = 5 Public Const CBN_EDITUPDATE = 6 Public Const CBN_DROPDOWN = 7 Public Const CBN_CLOSEUP = 8 Public Const CBN_SELENDOK = 9 Public Const CBN_SELENDCANCEL = 10 ' Combo Box styles Public Const CBS_SIMPLE = &H1& Public Const CBS_DROPDOWN = &H2& Public Const CBS_DROPDOWNLIST = &H3& Public Const CBS_OWNERDRAWFIXED = &H10& Public Const CBS_OWNERDRAWVARIABLE = &H20& Public Const CBS_AUTOHSCROLL = &H40& Public Const CBS_OEMCONVERT = &H80& Public Const CBS_SORT = &H100& Public Const CBS_HASSTRINGS = &H200& Public Const CBS_NOINTEGRALHEIGHT = &H400& Public Const CBS_DISABLENOSCROLL = &H800& ' Combo Box messages Public Const CB_GETEDITSEL = &H140 Public Const CB_LIMITTEXT = &H141 Public Const CB_SETEDITSEL = &H142 Public Const CB_ADDSTRING = &H143 Public Const CB_DELETESTRING = &H144 Public Const CB_DIR = &H145 Public Const CB_GETCOUNT = &H146 Public Const CB_GETCURSEL = &H147 Public Const CB_GETLBTEXT = &H148 Public Const CB_GETLBTEXTLEN = &H149 Public Const CB_INSERTSTRING = &H14A Public Const CB_RESETCONTENT = &H14B Public Const CB_FINDSTRING = &H14C Public Const CB_SELECTSTRING = &H14D Public Const CB_SETCURSEL = &H14E Public Const CB_SHOWDROPDOWN = &H14F Public Const CB_GETITEMDATA = &H150 Public Const CB_SETITEMDATA = &H151 Public Const CB_GETDROPPEDCONTROLRECT = &H152 Public Const CB_SETITEMHEIGHT = &H153 Public Const CB_GETITEMHEIGHT = &H154 Public Const CB_SETEXTENDEDUI = &H155 Public Const CB_GETEXTENDEDUI = &H156 Public Const CB_GETDROPPEDSTATE = &H157 Public Const CB_FINDSTRINGEXACT = &H158 Public Const CB_SETLOCALE = &H159 Public Const CB_GETLOCALE = &H15A Public Const CB_MSGMAX = &H15B ********************************************************************* * PROGRESS BAR CONTROL * ********************************************************************* ' Progress bar messages PBM_SETRANGE = 1025 PBM_SETPOS = 1026 PBM_DELTAPOS = 1027 PBM_SETSTEP = 1028 PBM_STEPIT = 1029 PBM_SETRANGE32 = 1030 PBM_SETBARCOLOR = 1033 PBM_SETBKCOLOR = 8193
adOpenDynamic = 2 adOpenKeySet = 1 adLockOptimistic = 3 adLockBatchOptimistic = 4 adCmdTable = 2 adCmdTableDirect = 512 adCmdText = 1 RS = ObjectOpen("ADODB.RecordSet") RS.Open("CONTROLS.XML","Provider=MSPersist;",2,4,256) RS.MoveFirst() Gosub makevars lGo = @TRUE While @TRUE DCFormat=`WWWDLGED,5.0` DCCaption=`Dialog Controls` DCX=11 DCY=27 DCWidth=242 DCHeight=78 DCNumControls=11 DC01=`46,4,180,DEFAULT,VARYTEXT,cVar,""` DC02=`6,4,36,DEFAULT,STATICTEXT,DEFAULT,"Variable"` DC03=`6,18,36,DEFAULT,STATICTEXT,DEFAULT,"Class"` DC04=`46,18,150,DEFAULT,VARYTEXT,cClass,""` DC05=`6,32,36,DEFAULT,STATICTEXT,DEFAULT,"HEX"` DC06=`44,32,36,DEFAULT,EDITBOX,cHex,""` DC07=`86,32,36,DEFAULT,STATICTEXT,DEFAULT,"DECIMAL"` DC08=`124,32,64,DEFAULT,EDITBOX,nDEC,""` DC09=`4,54,64,DEFAULT,PUSHBUTTON,DEFAULT,"Done Viewing",1` DC10=`84,54,64,DEFAULT,PUSHBUTTON,DEFAULT,"Next",2` DC11=`170,54,64,DEFAULT,PUSHBUTTON,DEFAULT,"Previous",3` ButtonPushed=Dialog("DC") Switch ButtonPushed Case 1 lGo = @FALSE break Case 2 RS.MoveNext() If RS.Eof() message("Cannot Proceed","You Are At The End Of The Recordset") RS.MovePrevious() Endif Gosub makevars break Case 3 RS.MovePrevious() If RS.Bof() message("Cannot Proceed","You Are At The Beginning Of The Recordset") RS.MoveNext() Endif Gosub makevars break EndSwitch If ! lGo Break Endif EndWhile :end RS.Close() ObjectClose(RS) Exit :makevars fld = RS.Fields("varname") cVar = fld.Value fld = RS.Fields("class") cClass = fld.Value fld = RS.Fields("hex") cHex = fld.Value fld = RS.Fields("dec") nDec = fld.Value Return
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882' xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882' xmlns:rs='urn:schemas-microsoft-com:rowset' xmlns:z='#RowsetSchema'> <s:Schema id='RowsetSchema'> <s:ElementType name='row' content='eltOnly' rs:updatable='true'> <s:AttributeType name='varname' rs:number='1' rs:writeunknown='true' rs:basecolumn='varname'> <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:fixedlength='true' rs:maybenull='false'/> </s:AttributeType> <s:AttributeType name='hex' rs:number='2' rs:writeunknown='true' rs:basecolumn='hex'> <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='10' rs:fixedlength='true' rs:maybenull='false'/> </s:AttributeType> <s:AttributeType name='class' rs:number='3' rs:writeunknown='true' rs:basecolumn='class'> <s:datatype dt:type='string' rs:dbtype='str' dt:maxLength='50' rs:fixedlength='true' rs:maybenull='false'/> </s:AttributeType> <s:AttributeType name='dec' rs:number='4' rs:writeunknown='true' rs:basecolumn='dec'> <s:datatype dt:type='number' rs:dbtype='str' dt:maxLength='19' rs:scale='0' rs:precision='15' rs:fixedlength='true' rs:maybenull='false'/> </s:AttributeType> <s:extends type='rs:rowbase'/> </s:ElementType> </s:Schema> <rs:data> <z:row varname='ES_LEFT ' hex='0 ' class='Edit Control ' dec='0'/> <z:row varname='ES_CENTER ' hex='1 ' class='Edit Control ' dec='1'/> <z:row varname='ES_RIGHT ' hex='2 ' class='Edit Control ' dec='2'/> <z:row varname='ES_MULTILINE ' hex='4 ' class='Edit Control ' dec='4'/> <z:row varname='ES_UPPERCASE ' hex='8 ' class='Edit Control ' dec='8'/> <z:row varname='ES_LOWERCASE ' hex='10 ' class='Edit Control ' dec='16'/> <z:row varname='ES_PASSWORD ' hex='20 ' class='Edit Control ' dec='32'/> <z:row varname='ES_AUTOVSCROLL ' hex='40 ' class='Edit Control ' dec='64'/> <z:row varname='ES_AUTOHSCROLL ' hex='80 ' class='Edit Control ' dec='128'/> <z:row varname='ES_NOHIDESEL ' hex='100 ' class='Edit Control ' dec='256'/> <z:row varname='ES_OEMCONVERT ' hex='400 ' class='Edit Control ' dec='1024'/> <z:row varname='ES_READONLY ' hex='800 ' class='Edit Control ' dec='2048'/> <z:row varname='ES_WANTRETURN ' hex='1000 ' class='Edit Control ' dec='4096'/> <z:row varname='EN_SETFOCUS ' hex='100 ' class='Edit Control ' dec='256'/> <z:row varname='EN_KILLFOCUS ' hex='200 ' class='Edit Control ' dec='512'/> <z:row varname='EN_CHANGE ' hex='300 ' class='Edit Control ' dec='768'/> <z:row varname='EN_UPDATE ' hex='400 ' class='Edit Control ' dec='1024'/> <z:row varname='EN_ERRSPACE ' hex='500 ' class='Edit Control ' dec='1280'/> <z:row varname='EN_MAXTEXT ' hex='501 ' class='Edit Control ' dec='1281'/> <z:row varname='EN_HSCROLL ' hex='601 ' class='Edit Control ' dec='1537'/> <z:row varname='EN_VSCROLL ' hex='602 ' class='Edit Control ' dec='1538'/> <z:row varname='EM_GETSEL ' hex='B0 ' class='Edit Control ' dec='176'/> <z:row varname='EM_SETSEL ' hex='B1 ' class='Edit Control ' dec='177'/> <z:row varname='EM_GETRECT ' hex='B2 ' class='Edit Control ' dec='178'/> <z:row varname='EM_SETRECT ' hex='B3 ' class='Edit Control ' dec='179'/> <z:row varname='EM_SETRECTNP ' hex='B4 ' class='Edit Control ' dec='180'/> <z:row varname='EM_SCROLL ' hex='B5 ' class='Edit Control ' dec='181'/> <z:row varname='EM_LINESCROLL ' hex='B6 ' class='Edit Control ' dec='182'/> <z:row varname='EM_SCROLLCARET ' hex='B7 ' class='Edit Control ' dec='183'/> <z:row varname='EM_GETMODIFY ' hex='B8 ' class='Edit Control ' dec='184'/> <z:row varname='EM_SETMODIFY ' hex='B9 ' class='Edit Control ' dec='185'/> <z:row varname='EM_GETLINECOUNT ' hex='BA ' class='Edit Control ' dec='186'/> <z:row varname='EM_LINEINDEX ' hex='BB ' class='Edit Control ' dec='187'/> <z:row varname='EM_SETHANDLE ' hex='BC ' class='Edit Control ' dec='188'/> <z:row varname='EM_GETHANDLE ' hex='BD ' class='Edit Control ' dec='189'/> <z:row varname='EM_GETTHUMB ' hex='BE ' class='Edit Control ' dec='190'/> <z:row varname='EM_LINELENGTH ' hex='C1 ' class='Edit Control ' dec='193'/> <z:row varname='EM_REPLACESEL ' hex='C2 ' class='Edit Control ' dec='194'/> <z:row varname='EM_GETLINE ' hex='C4 ' class='Edit Control ' dec='196'/> <z:row varname='EM_LIMITTEXT ' hex='C5 ' class='Edit Control ' dec='197'/> <z:row varname='EM_CANUNDO ' hex='C6 ' class='Edit Control ' dec='198'/> <z:row varname='EM_UNDO ' hex='C7 ' class='Edit Control ' dec='199'/> <z:row varname='EM_FMTLINES ' hex='C8 ' class='Edit Control ' dec='200'/> <z:row varname='EM_LINEFROMCHAR ' hex='C9 ' class='Edit Control ' dec='201'/> <z:row varname='EM_SETTABSTOPS ' hex='CB ' class='Edit Control ' dec='203'/> <z:row varname='EM_SETPASSWORDCHAR ' hex='CC ' class='Edit Control ' dec='204'/> <z:row varname='EM_EMPTYUNDOBUFFER ' hex='CD ' class='Edit Control ' dec='205'/> <z:row varname='EM_GETFIRSTVISIBLELINE ' hex='CE ' class='Edit Control ' dec='206'/> <z:row varname='EM_SETREADONLY ' hex='CF ' class='Edit Control ' dec='207'/> <z:row varname='EM_SETWORDBREAKPROC ' hex='D0 ' class='Edit Control ' dec='208'/> <z:row varname='EM_GETWORDBREAKPROC ' hex='D1 ' class='Edit Control ' dec='209'/> <z:row varname='EM_GETPASSWORDCHAR ' hex='D2 ' class='Edit Control ' dec='210'/> <z:row varname='BS_PUSHBUTTON ' hex='0 ' class='Button Control ' dec='0'/> <z:row varname='BS_DEFPUSHBUTTON ' hex='1 ' class='Button Control ' dec='1'/> <z:row varname='BS_CHECKBOX ' hex='2 ' class='Button Control ' dec='2'/> <z:row varname='BS_AUTOCHECKBOX ' hex='3 ' class='Button Control ' dec='3'/> <z:row varname='BS_RADIOBUTTON ' hex='4 ' class='Button Control ' dec='4'/> <z:row varname='BS_3STATE ' hex='5 ' class='Button Control ' dec='5'/> <z:row varname='BS_AUTO3STATE ' hex='6 ' class='Button Control ' dec='6'/> <z:row varname='BS_GROUPBOX ' hex='7 ' class='Button Control ' dec='7'/> <z:row varname='BS_USERBUTTON ' hex='8 ' class='Button Control ' dec='8'/> <z:row varname='BS_AUTORADIOBUTTON ' hex='9 ' class='Button Control ' dec='9'/> <z:row varname='BS_OWNERDRAW ' hex='B ' class='Button Control ' dec='11'/> <z:row varname='BS_LEFTTEXT ' hex='20 ' class='Button Control ' dec='32'/> <z:row varname='BN_CLICKED ' hex='0 ' class='Button Control ' dec='0'/> <z:row varname='BN_PAINT ' hex='1 ' class='Button Control ' dec='1'/> <z:row varname='BN_HILITE ' hex='2 ' class='Button Control ' dec='2'/> <z:row varname='BN_UNHILITE ' hex='3 ' class='Button Control ' dec='3'/> <z:row varname='BN_DISABLE ' hex='4 ' class='Button Control ' dec='4'/> <z:row varname='BN_DOUBLECLICKED ' hex='5 ' class='Button Control ' dec='5'/> <z:row varname='BM_GETCHECK ' hex='F0 ' class='Button Control ' dec='240'/> <z:row varname='BM_SETCHECK ' hex='F1 ' class='Button Control ' dec='241'/> <z:row varname='BM_GETSTATE ' hex='F2 ' class='Button Control ' dec='242'/> <z:row varname='BM_SETSTATE ' hex='F3 ' class='Button Control ' dec='243'/> <z:row varname='BM_SETSTYLE ' hex='F4 ' class='Button Control ' dec='244'/> <z:row varname='LB_ADDSTRING ' hex='180 ' class='List Box Control ' dec='384'/> <z:row varname='LB_INSERTSTRING ' hex='181 ' class='List Box Control ' dec='385'/> <z:row varname='LB_DELETESTRING ' hex='182 ' class='List Box Control ' dec='386'/> <z:row varname='LB_SELITEMRANGEEX ' hex='183 ' class='List Box Control ' dec='387'/> <z:row varname='LB_RESETCONTENT ' hex='184 ' class='List Box Control ' dec='388'/> <z:row varname='LB_SETSEL ' hex='185 ' class='List Box Control ' dec='389'/> <z:row varname='LB_SETCURSEL ' hex='186 ' class='List Box Control ' dec='390'/> <z:row varname='LB_GETSEL ' hex='187 ' class='List Box Control ' dec='391'/> <z:row varname='LB_GETCURSEL ' hex='188 ' class='List Box Control ' dec='392'/> <z:row varname='LB_GETTEXT ' hex='189 ' class='List Box Control ' dec='393'/> <z:row varname='LB_GETTEXTLEN ' hex='18A ' class='List Box Control ' dec='394'/> <z:row varname='LB_GETCOUNT ' hex='18B ' class='List Box Control ' dec='395'/> <z:row varname='LB_SELECTSTRING ' hex='18C ' class='List Box Control ' dec='396'/> <z:row varname='LB_DIR ' hex='18D ' class='List Box Control ' dec='397'/> <z:row varname='LB_GETTOPINDEX ' hex='18E ' class='List Box Control ' dec='398'/> <z:row varname='LB_FINDSTRING ' hex='18F ' class='List Box Control ' dec='399'/> <z:row varname='LB_GETSELCOUNT ' hex='190 ' class='List Box Control ' dec='400'/> <z:row varname='LB_GETSELITEMS ' hex='191 ' class='List Box Control ' dec='401'/> <z:row varname='LB_SETTABSTOPS ' hex='192 ' class='List Box Control ' dec='402'/> <z:row varname='LB_GETHORIZONTALEXTENT ' hex='193 ' class='List Box Control ' dec='403'/> <z:row varname='LB_SETHORIZONTALEXTENT ' hex='194 ' class='List Box Control ' dec='404'/> <z:row varname='LB_SETCOLUMNWIDTH ' hex='195 ' class='List Box Control ' dec='405'/> <z:row varname='LB_ADDFILE ' hex='196 ' class='List Box Control ' dec='406'/> <z:row varname='LB_SETTOPINDEX ' hex='197 ' class='List Box Control ' dec='407'/> <z:row varname='LB_GETITEMRECT ' hex='198 ' class='List Box Control ' dec='408'/> <z:row varname='LB_GETITEMDATA ' hex='199 ' class='List Box Control ' dec='409'/> <z:row varname='LB_SETITEMDATA ' hex='19A ' class='List Box Control ' dec='410'/> <z:row varname='LB_SELITEMRANGE ' hex='19B ' class='List Box Control ' dec='411'/> <z:row varname='LB_SETANCHORINDEX ' hex='19C ' class='List Box Control ' dec='412'/> <z:row varname='LB_GETANCHORINDEX ' hex='19D ' class='List Box Control ' dec='413'/> <z:row varname='LB_SETCARETINDEX ' hex='19E ' class='List Box Control ' dec='414'/> <z:row varname='LB_GETCARETINDEX ' hex='19F ' class='List Box Control ' dec='415'/> <z:row varname='LB_SETITEMHEIGHT ' hex='1A0 ' class='List Box Control ' dec='416'/> <z:row varname='LB_GETITEMHEIGHT ' hex='1A1 ' class='List Box Control ' dec='417'/> <z:row varname='LB_FINDSTRINGEXACT ' hex='1A2 ' class='List Box Control ' dec='418'/> <z:row varname='LB_SETLOCALE ' hex='1A5 ' class='List Box Control ' dec='421'/> <z:row varname='LB_GETLOCALE ' hex='1A6 ' class='List Box Control ' dec='422'/> <z:row varname='LB_SETCOUNT ' hex='1A7 ' class='List Box Control ' dec='423'/> <z:row varname='LB_MSGMAX ' hex='1A8 ' class='List Box Control ' dec='424'/> <z:row varname='LBS_NOTIFY ' hex='1 ' class='List Box Control ' dec='1'/> <z:row varname='LBS_SORT ' hex='2 ' class='List Box Control ' dec='2'/> <z:row varname='LBS_NOREDRAW ' hex='4 ' class='List Box Control ' dec='4'/> <z:row varname='LBS_MULTIPLESEL ' hex='8 ' class='List Box Control ' dec='8'/> <z:row varname='LBS_OWNERDRAWFIXED ' hex='10 ' class='List Box Control ' dec='16'/> <z:row varname='LBS_OWNERDRAWVARIABLE ' hex='20 ' class='List Box Control ' dec='32'/> <z:row varname='LBS_HASSTRINGS ' hex='40 ' class='List Box Control ' dec='64'/> <z:row varname='LBS_USETABSTOPS ' hex='80 ' class='List Box Control ' dec='128'/> <z:row varname='LBS_NOINTEGRALHEIGHT ' hex='100 ' class='List Box Control ' dec='256'/> <z:row varname='LBS_MULTICOLUMN ' hex='200 ' class='List Box Control ' dec='512'/> <z:row varname='LBS_WANTKEYBOARDINPUT ' hex='400 ' class='List Box Control ' dec='1024'/> <z:row varname='LBS_EXTENDEDSEL ' hex='800 ' class='List Box Control ' dec='2048'/> <z:row varname='LBS_DISABLENOSCROLL ' hex='1000 ' class='List Box Control ' dec='4096'/> <z:row varname='LBS_NODATA ' hex='2000 ' class='List Box Control ' dec='8192'/> <z:row varname='CBN_ERRSPACE ' hex='-1 ' class='Combo Box Control ' dec='-1'/> <z:row varname='CBN_SELCHANGE ' hex='1 ' class='Combo Box Control ' dec='1'/> <z:row varname='CBN_DBLCLK ' hex='2 ' class='Combo Box Control ' dec='2'/> <z:row varname='CBN_SETFOCUS ' hex='3 ' class='Combo Box Control ' dec='3'/> <z:row varname='CBN_KILLFOCUS ' hex='4 ' class='Combo Box Control ' dec='4'/> <z:row varname='CBN_EDITCHANGE ' hex='5 ' class='Combo Box Control ' dec='5'/> <z:row varname='CBN_EDITUPDATE ' hex='6 ' class='Combo Box Control ' dec='6'/> <z:row varname='CBN_DROPDOWN ' hex='7 ' class='Combo Box Control ' dec='7'/> <z:row varname='CBN_CLOSEUP ' hex='8 ' class='Combo Box Control ' dec='8'/> <z:row varname='CBN_SELENDOK ' hex='9 ' class='Combo Box Control ' dec='9'/> <z:row varname='CBN_SELENDCANCEL ' hex='10 ' class='Combo Box Control ' dec='16'/> <z:row varname='CBS_SIMPLE ' hex='1 ' class='Combo Box Control ' dec='1'/> <z:row varname='CBS_DROPDOWN ' hex='2 ' class='Combo Box Control ' dec='2'/> <z:row varname='CBS_DROPDOWNLIST ' hex='3 ' class='Combo Box Control ' dec='3'/> <z:row varname='CBS_OWNERDRAWFIXED ' hex='10 ' class='Combo Box Control ' dec='16'/> <z:row varname='CBS_OWNERDRAWVARIABLE ' hex='20 ' class='Combo Box Control ' dec='32'/> <z:row varname='CBS_AUTOHSCROLL ' hex='40 ' class='Combo Box Control ' dec='64'/> <z:row varname='CBS_OEMCONVERT ' hex='80 ' class='Combo Box Control ' dec='128'/> <z:row varname='CBS_SORT ' hex='100 ' class='Combo Box Control ' dec='256'/> <z:row varname='CBS_HASSTRINGS ' hex='200 ' class='Combo Box Control ' dec='512'/> <z:row varname='CBS_NOINTEGRALHEIGHT ' hex='400 ' class='Combo Box Control ' dec='1024'/> <z:row varname='CBS_DISABLENOSCROLL ' hex='800 ' class='Combo Box Control ' dec='2048'/> <z:row varname='CB_GETEDITSEL ' hex='140 ' class='Combo Box Control ' dec='320'/> <z:row varname='CB_LIMITTEXT ' hex='141 ' class='Combo Box Control ' dec='321'/> <z:row varname='CB_SETEDITSEL ' hex='142 ' class='Combo Box Control ' dec='322'/> <z:row varname='CB_ADDSTRING ' hex='143 ' class='Combo Box Control ' dec='323'/> <z:row varname='CB_DELETESTRING ' hex='144 ' class='Combo Box Control ' dec='324'/> <z:row varname='CB_DIR ' hex='145 ' class='Combo Box Control ' dec='325'/> <z:row varname='CB_GETCOUNT ' hex='146 ' class='Combo Box Control ' dec='326'/> <z:row varname='CB_GETCURSEL ' hex='147 ' class='Combo Box Control ' dec='327'/> <z:row varname='CB_GETLBTEXT ' hex='148 ' class='Combo Box Control ' dec='328'/> <z:row varname='CB_GETLBTEXTLEN ' hex='149 ' class='Combo Box Control ' dec='329'/> <z:row varname='CB_INSERTSTRING ' hex='14A ' class='Combo Box Control ' dec='330'/> <z:row varname='CB_RESETCONTENT ' hex='14B ' class='Combo Box Control ' dec='331'/> <z:row varname='CB_FINDSTRING ' hex='14C ' class='Combo Box Control ' dec='332'/> <z:row varname='CB_SELECTSTRING ' hex='14D ' class='Combo Box Control ' dec='333'/> <z:row varname='CB_SETCURSEL ' hex='14E ' class='Combo Box Control ' dec='334'/> <z:row varname='CB_SHOWDROPDOWN ' hex='14F ' class='Combo Box Control ' dec='335'/> <z:row varname='CB_GETITEMDATA ' hex='150 ' class='Combo Box Control ' dec='336'/> <z:row varname='CB_SETITEMDATA ' hex='151 ' class='Combo Box Control ' dec='337'/> <z:row varname='CB_GETDROPPEDCONTROLRECT ' hex='152 ' class='Combo Box Control ' dec='338'/> <z:row varname='CB_SETITEMHEIGHT ' hex='153 ' class='Combo Box Control ' dec='339'/> <z:row varname='CB_GETITEMHEIGHT ' hex='154 ' class='Combo Box Control ' dec='340'/> <z:row varname='CB_SETEXTENDEDUI ' hex='155 ' class='Combo Box Control ' dec='341'/> <z:row varname='CB_GETEXTENDEDUI ' hex='156 ' class='Combo Box Control ' dec='342'/> <z:row varname='CB_GETDROPPEDSTATE ' hex='157 ' class='Combo Box Control ' dec='343'/> <z:row varname='CB_FINDSTRINGEXACT ' hex='158 ' class='Combo Box Control ' dec='344'/> <z:row varname='CB_SETLOCALE ' hex='159 ' class='Combo Box Control ' dec='345'/> <z:row varname='CB_GETLOCALE ' hex='15A ' class='Combo Box Control ' dec='346'/> <z:row varname='CB_MSGMAX ' hex='15B ' class='Combo Box Control ' dec='347'/> <z:row varname='PBM_SETRANGE ' hex='1025 ' class='Progress Bar Control ' dec='4133'/> <z:row varname='PBM_SETPOS ' hex='1026 ' class='Progress Bar Control ' dec='4134'/> <z:row varname='PBM_DELTAPOS ' hex='1027 ' class='Progress Bar Control ' dec='4135'/> <z:row varname='PBM_SETSTEP ' hex='1028 ' class='Progress Bar Control ' dec='4136'/> <z:row varname='PBM_STEPIT ' hex='1029 ' class='Progress Bar Control ' dec='4137'/> <z:row varname='PBM_SETRANGE32 ' hex='1030 ' class='Progress Bar Control ' dec='4144'/> <z:row varname='PBM_SETBARCOLOR ' hex='1033 ' class='Progress Bar Control ' dec='4147'/> <z:row varname='PBM_SETBKCOLOR ' hex='8193 ' class='Progress Bar Control ' dec='33171'/> </rs:data>
Article ID: W14831
File Created: 2017:08:29:11:48:28
Last Updated: 2017:08:29:11:48:28