Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
#DefineFunction CBox2MLButton(hDialog, nControl) ; Developer: IFICANTBYTE ; CBox2MLButton - Give a Checkbox in a WinBatch Dialog the correct style to display itself as a button with multiple lines of text ; Don't use this on other types of controls or you will encounter strange results! ; hDialog - window handle to WIL dialog ; nControl - template position number of dialog control BS_MULTILINE = 8192 BS_CHECKBOX = 2 ;Some other ButtonStyles you could logically OR to align the text on the button BS_BOTTOM = 2048 BS_CENTER = 768 BS_LEFT = 256 BS_RIGHT = 512 BS_TOP = 1024 BS_VCENTER = 3072 ;BS_RADIOBUTTON = 4 - just for reference - you could probably adapt this UDF to do the same with radio buttons hUser32 = DllLoad(DirWindows(1):"User32.dll") hControl = DllCall(hUser32, long:"GetDlgItem", long:hDialog, long:nControl+99) CtrlStyle = DllCall(hUser32, long:"GetWindowLongA", long:hControl, long:-16) DllCall(hUser32, long:"SetWindowLongA", long:hControl, long:-16, long:(CtrlStyle^BS_CHECKBOX)|BS_MULTILINE); take away checkbox style and add multiline DllFree(hUser32) #EndFunction #DefineSubRoutine InitDialogConstants() ;DialogprocOptions Constants MSG_INIT=0 ; The one-time initialization MSG_TIMER=1 ; Timer event MSG_BUTTONPUSHED=2 ; Pushbutton or Picturebutton MSG_RADIOPUSHED=3 ; Radiobutton clicked MSG_CHECKBOX=4 ; Checkbox clicked MSG_EDITBOX=5 ; Editbox or Multilinebox MSG_FILESELECT=6 ; Filelistbox MSG_ITEMSELECT=7 ; Itembox MSG_COMBOCHANGE=8 ; Combobox/Droplistbox MSG_CALENDAR=9 ; Calendar date change MSG_SPINNER=10 ; Spinner number change MSG_CLOSEVIA49=11 ; Close clicked (Enabled via DialogProcOptions 1002 MSG_FILEBOXDOUBLECLICK=12 ; Get double-click message on a FileListBox MSG_ITEMBOXDOUBLECLICK=13 ; Get double-click message on an ItemBox MSG_COMEVENT=14 ; COMCONTROL Event notification from DialogObject (NOT DialogProcOptions) MSG_MENUITEM=15 ; MenuItem selected MSG_MENUITEMINIT=16 ; MenuItem initialized MSG_RESIZE=17 ; Dialog resized DPO_DISABLESTATE=1000 ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog DPO_CHANGEBACKGROUND=1001 ; -1=Get Current otherise bitmap or color string DPO_CHANGESYSMENU=1002 ; -1=Get Current 0=none 1=close 2=close/min 3=close/max 4=close/min/max DPO_CHANGETITLE=1003 ; Set/Get Dialog Title - (-1 to get) DPO_GETNAME=1004 ; Returns the name associated with a control's number. DPO_GETNUMBER=1005 ; Returns the number associated with a control's name. DPO_GETCLIENTAREA=1007 ; Returns a space delimited list of the width and height of the client area. ;DialogControlState Constants DCSTATE_SETFOCUS=1 ; Give Control Focus DCSTATE_QUERYSTYLE=2 ; Query control's style DCSTATE_ADDSTYLE=3 ; Add control style DCSTATE_REMOVESTYLE=4 ; Remove control style DCSTATE_GETFOCUS=5 ; Get control that has focus DCSTATE_MOVEMOUSEOVER=6 ; Move the mouse over the control DCSTYLE_DEFAULT=0 ; Set Default Style DCSTYLE_INVISIBLE=1 ; Set Control Invisible DCSTYLE_DISABLED=2 ; Set Control Disabled DCSTYLE_NOUSERDATA=4 ; Note: Setable via DialogControlState function ONLY SPINNER control only DCSTYLE_READONLY=8 ; Sets control to read-only (user cannot type in data) EDITBOX MULTILINEBOX SPINNER DCSTYLE_PASSWORD=16 ; Sets 'password mode' where only *'s are displayed EDITBOX DCSTYLE_DEFAULTBUTTON=32 ; Sets a button as the default button PUSHBUTTON PICTUREBUTTON DCSTYLE_DIGITSONLY=64 ; Set edit box to accept digits only EDITMOX MULTILINEBOX DCSTYLE_FLAT=128 ; Makes a 'flat' hyperlink-looking button PUSHBUTTON PICTUREBUTTON DCSTYLE_NOADJUST=256 ; Turns off auto-height adjustment ITEMBOX FILELISTBOX DCSTYLE_TEXTCENTER=512 ; Center text in control VARYTEXT STATICTEXT DCSTYLE_TEXTRIGHT=1024 ; Flush-Right text in control VARYTEXT STATICTEXT DCSTYLE_NOSELCURLEFT=2048 ; No selection, cursor left EDITBOX MULTILINEBOX DCSTYLE_NOSELCURRIGHT=4096; No selection, cursor right EDITBOX MULTILINEBOX DCSTYLE_SHIELD=8192 ; Display Security Shield icon on button (Vista only) PUSHBUTTON PICTUREBUTTON DCSTYLE_MENUCHECK=32768 ; Adds a check mark to the left of a menu item MENUITEM DCSTYLE_MENURADIO=65536 ; Adds a radio button like dot graphic to the left of a menu item MENUITEM DCSTYLE_MENUSEP=131072 ; Separator bar graphic MENUITEM DCSTYLE_MENUBREAK=262144 ; column break MENUBAR ;DialogControlSet / DialogControlGet Constants DC_CHECKBOX=1 ; CHECKBOX DC_RADIOBUTTON=2 ; RADIOBUTTON DC_EDITBOX=3 ; EDITBOX MULTILINEBOX DC_TITLE=4 ; PICTURE RADIOBUTTON CHECKBOX PICTUREBUTTON VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON MENUITEM DC_ITEMBOXCONTENTS=5 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_ITEMBOXSELECT=6 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_CALENDAR=7 ; CALENDAR DC_SPINNER=8 ; SPINNER DC_MULTITABSTOPS=9 ; MULTILINEBOX DC_ITEMSCROLLPOS=10 ; ITEMBOX FILELISTBOX DC_BACKGROUNDCOLOR=11 ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FILELISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX DC_PICTUREBITMAP=12 ; PICTURE PICTUREBUTTON DC_TEXTCOLOR=13 ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FIELLISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX DC_ITEMBOXADD=14 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_ITEMBOXREMOVE=15 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_RADIOVALUE=16 ; RADIOBUTTON DC_POSITION=17 ; ALL CONTROLS (Except MENUBAR and MENUITEM) DC_MENUNAMES=18 ; ALL CONTROLS DC_HANDLE=19 ; ALL CONTROLS (Except MENUBAR and MENUITEM) ;DialogObject constants DLGOBJECT_ADDEVENT=1 ; Call dialog callback when the specified event occurs DLGOBJECT_STOPEVENT=2 ; Stop calling dialog callback when an event previously requested with DLGOBJECT_GETOBJECT=3 ; Return an object references to the specified control DLGOBJECT_GETPICTURE=4 ; Create and return an object reference to a picture object ;Return code constants RET_DO_CANCEL=0 ; Cancels dialog RET_DO_DEFAULT= -1 ; Continue with default processing for control RET_DO_NOT_EXIT= -2 ; Do not exit the dialog Return #EndSubRoutine ;============================================================ #DefineFunction MyDialogCallbackProc(MyDialog_Handle,MyDialog_Message,MyDialog_Name,MyDialog_EventInfo,MyDialog_ChangeInfo) InitDialogConstants() ; Initialize Dialog Constants ON_EQUAL = @TRUE ; Initialize variable ON_EQUAL Switch MyDialog_Message ; Switch based on Dialog Message type Case MSG_INIT ; Standard Initialization message ; DialogProcOptions(MyDialog_Handle,MSG_TIMER,1000) CBox2MLButton(MyDialog_Handle, 4) ; Change Checkbox (control ID 004) to a Button with multiline style CBox2MLButton(MyDialog_Handle, 5) ; Change Checkbox (control ID 005) to a Button with multiline style CBox2MLButton(MyDialog_Handle, 6) ; Change Checkbox (control ID 006) to a Button with multiline style DialogProcOptions(MyDialog_Handle,MSG_BUTTONPUSHED,@TRUE) DialogProcOptions(MyDialog_Handle,MSG_CHECKBOX,@TRUE) Return(RET_DO_DEFAULT) Case MSG_BUTTONPUSHED If MyDialog_Name == "PushButton_OK" ; OK Return(RET_DO_DEFAULT) ElseIf MyDialog_Name == "PushButton_Cancel" ; Cancel Return(RET_DO_DEFAULT) EndIf ; MyDialog_Name Return(RET_DO_DEFAULT) Case MSG_CHECKBOX If MyDialog_Name == "CheckBox_1" ; MyVariable1 A Normal Checkbox control - to show they still work as they should Message("Normal Checkboxes work just the way they always did","You clicked the normal Checkbox") Return(RET_DO_DEFAULT) ElseIf MyDialog_Name == "CheckBox_2" ; MyVariable2 This was actually a Checkbox just like the normal one above but converted to a MULTILINE button style. This new 'button' will automatically wrap long text onto the next line. The dialog's callback procedure still thinks it's a Checkbox though and captures its click events as such. Message("Converted Checkboxes still have their click event seen as coming from a Checkbox, not a Button","You clicked the first converted Checkbox that looks like a button - this event is still processed as a click to a checkbox by the dialog procedure, however there are no checked and unchecked states.") Return(RET_DO_DEFAULT) ElseIf MyDialog_Name == "CheckBox_3" ; MyVariable3 Same as above except square Message("The title can be read in the normal way",DialogControlGet( MyDialog_Handle, MyDialog_Name, DC_TITLE ) ); Returns text and state information associated with a control. Return(RET_DO_DEFAULT) ElseIf MyDialog_Name == "CheckBox_4" ; MyVariable4 Message("Checkboxes by default don't close Dialogs but Buttons do - so force it if you want it","You need to force the Return action of a click to 'RET_DO_CANCEL' (Zero) in order to close the Dialog if you want to mimic the Default action of a real Button - that's what this one has,... so bye for now!") Return(RET_DO_CANCEL) EndIf ; MyDialog_Name Return(RET_DO_DEFAULT) EndSwitch ; MyDialog_Message Return(RET_DO_DEFAULT) #EndFunction ; End of Dialog Callback MyDialogCallbackProc ;============================================================ ;============================================================ ;============================================================ ;There is something about 'real' WinBatch buttons that wont accept the multiline style, so that's why I picked on the Checkbox - they are closely related and seem to accept the style change just fine. MyDialogFormat=`WWWDLGED,6.2` MyDialogCaption=`Multiline Button Control Example` MyDialogX=685 MyDialogY=136 MyDialogWidth=194 MyDialogHeight=240 MyDialogNumControls=007 MyDialogProcedure=`MyDialogCallbackProc` MyDialogFont=`DEFAULT` MyDialogTextColor=`DEFAULT` MyDialogBackground=`DEFAULT,DEFAULT` MyDialogConfig=0 MyDialog001=`011,185,036,012,PUSHBUTTON,"PushButton_OK",DEFAULT,"OK",1,1,32,DEFAULT,DEFAULT,DEFAULT` MyDialog002=`143,185,036,012,PUSHBUTTON,"PushButton_Cancel",DEFAULT,"Cancel",0,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog003=`007,005,176,012,CHECKBOX,"CheckBox_1",MyVariable1,"A Normal Checkbox control - to show they still work as they should",1,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog004=`007,021,176,038,CHECKBOX,"CheckBox_2",MyVariable2,"This was actually a Checkbox just like the normal one above but converted to a MULTILINE button style. This new 'button' will automatically wrap long text onto the next line. The dialog's callback procedure still thinks it's a Checkbox though and captures its click events as such.",1,4,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog005=`007,067,044,044,CHECKBOX,"CheckBox_3",MyVariable3,"Same as above except square",1,5,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog006=`059,067,124,110,CHECKBOX,"CheckBox_4",MyVariable4,"Same again but with a custom font - unfortunately colors don't work :-(`:@LF:`Note that you can also force linefeeds`:@LF:`This one also exits the Dialog.",1,6,DEFAULT,"Times New Roman|7680|70|18","0|128|0","128|128|255"` MyDialog007=`005,201,182,032,STATICTEXT,"StaticText_1",DEFAULT,"There is something about 'real' WinBatch buttons that wont accept the multiline style, so that's why I picked on the Checkbox - they are closely related (as are radio buttons) and seem to accept the style change just fine.",DEFAULT,7,512,"Microsoft Sans Serif|5632|70|34","0|0|0","128|128|255"` ButtonPushed=Dialog("MyDialog") exit
;UDF/UDS START =================================================================================================== . . . . I F I C /-) /\/ ¯/¯ B Y T E ; CBox2MLButton - Give a Checkbox in a WinBatch Dialog the correct style to display itself as a button with multiple lines of text ; Don't use this on other types of controls or you will encounter strange results! ; hDialog - window handle to WIL dialog ; nControl - template position number of dialog control #DefineFunction CBox2MLButton(hDialog, nControl) BS_MULTILINE = 8192 BS_CHECKBOX = 2 ;Some other ButtonStyles you could logically OR to align the text on the button BS_BOTTOM = 2048 BS_CENTER = 768 BS_LEFT = 256 BS_RIGHT = 512 BS_TOP = 1024 BS_VCENTER = 3072 ;BS_RADIOBUTTON = 4 - just for reference - you could probably adapt this UDF to do the same with radio buttons hUser32 = DllLoad(DirWindows(1):"User32.dll") hControl = DllCall(hUser32, long:"GetDlgItem", long:hDialog, long:nControl+99) CtrlStyle = DllCall(hUser32, long:"GetWindowLongA", long:hControl, long:-16) DllCall(hUser32, long:"SetWindowLongA", long:hControl, long:-16, long:(CtrlStyle^BS_CHECKBOX)|BS_MULTILINE); take away checkbox style and add multiline DllFree(hUser32) #EndFunction ;UDF/UDS END =================================================================================================== . . . . I F I C /-) /\/ ¯/¯ B Y T E #DefineSubRoutine InitDialogConstants() ;DialogprocOptions Constants MSG_INIT=0 ; The one-time initialization MSG_TIMER=1 ; Timer event MSG_BUTTONPUSHED=2 ; Pushbutton or Picturebutton MSG_RADIOPUSHED=3 ; Radiobutton clicked MSG_CHECKBOX=4 ; Checkbox clicked MSG_EDITBOX=5 ; Editbox or Multilinebox MSG_FILESELECT=6 ; Filelistbox MSG_ITEMSELECT=7 ; Itembox MSG_COMBOCHANGE=8 ; Combobox/Droplistbox MSG_CALENDAR=9 ; Calendar date change MSG_SPINNER=10 ; Spinner number change MSG_CLOSEVIA49=11 ; Close clicked (Enabled via DialogProcOptions 1002 MSG_FILEBOXDOUBLECLICK=12 ; Get double-click message on a FileListBox MSG_ITEMBOXDOUBLECLICK=13 ; Get double-click message on an ItemBox MSG_COMEVENT=14 ; COMCONTROL Event notification from DialogObject (NOT DialogProcOptions) DPO_DISABLESTATE=1000 ; codes -1=GetSetting 0=EnableDialog 1=DisableDialog DPO_CHANGEBACKGROUND=1001 ; -1=Get Current otherise bitmap or color string DPO_CHANGESYSMENU=1002 ; -1=Get Current 0=none 1=close 2=close/min 3=close/max 4=close/min/max DPO_CHANGETITLE=1003 ; Set/Get Dialog Title - (-1 to get) ;DialogControlState Constants DCSTATE_SETFOCUS=1 ; Give Control Focus DCSTATE_QUERYSTYLE=2 ; Query control's style DCSTATE_ADDSTYLE=3 ; Add control style DCSTATE_REMOVESTYLE=4 ; Remove control style DCSTATE_GETFOCUS=5 ; Get control that has focus DCSTATE_MOVEMOUSEOVER=6 ; Move the mouse over the control DCSTYLE_INVISIBLE=1 ; Set Control Invisible DCSTYLE_DISABLED=2 ; Set Control Disabled DCSTYLE_NOUSERDATA=4 ; Note: Setable via DialogControlState function ONLY SPINNER control only DCSTYLE_READONLY=8 ; Sets control to read-only (user cannot type in data) EDITBOX MULTILINEBOX SPINNER DCSTYLE_PASSWORD=16 ; Sets 'password mode' where only *'s are displayed EDITBOX DCSTYLE_DEFAULTBUTTON=32 ; Sets a button as the default button PUSHBUTTON PICTUREBUTTON DCSTYLE_DIGITSONLY=64 ; Set edit box to accept digits only EDITMOX MULTILINEBOX DCSTYLE_FLAT=128 ; Makes a 'flat' hyperlink-looking button PUSHBUTTON PICTUREBUTTON DCSTYLE_NOADJUST=256 ; Turns off auto-height adjustment ITEMBOX FILELISTBOX DCSTYLE_TEXTCENTER=512 ; Center text in control VARYTEXT STATICTEXT DCSTYLE_TEXTRIGHT=1024 ; Flush-Right text in control VARYTEXT STATICTEXT DCSTYLE_NOSELCURLEFT=2048 ; No selection, cursor left EDITBOX MULTILINEBOX DCSTYLE_NOSELCURRIGHT=4096; No selection, cursor right EDITBOX MULTILINEBOX ;DialogControlSet / DialogControlGet Constants DC_CHECKBOX=1 ; CHECKBOX DC_RADIOBUTTON=2 ; RADIOBUTTON DC_EDITBOX=3 ; EDITBOX MULTILINEBOX DC_TITLE=4 ; PICTURE RADIOBUTTON CHECKBOX PICTUREBUTTON VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON DC_ITEMBOXCONTENTS=5 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_ITEMBOXSELECT=6 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_CALENDAR=7 ; CALENDAR DC_SPINNER=8 ; SPINNER DC_MULTITABSTOPS=9 ; MULTILINEBOX DC_ITEMSCROLLPOS=10 ; ITEMBOX FILELISTBOX DC_BACKGROUNDCOLOR=11 ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FILELISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX DC_PICTUREBITMAP=12 ; PICTURE PICTUREBUTTON DC_TEXTCOLOR=13 ; RADIOBUTTON CHECKBOX VARYTEXT STATICTEXT GROUPBOX PUSHBUTTON ITEMBOX FIELLISTBOX DROPLISTBOX SPINNER EDITBOX MULTILINEBOX DC_ITEMBOXADD=14 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_ITEMBOXREMOVE=15 ; ITEMBOX FILELISTBOX DROPLISTBOX DC_RADIOVALUE=16 ; RADIOBUTTON ;DialogObject constants DLGOBJECT_ADDEVENT=1 ; Call dialog callback when the specified event occurs DLGOBJECT_STOPEVENT=2 ; Stop calling dialog callback when an event previously requested with DLGOBJECT_GETOBJECT=3 ; Return an object references to the specified control DLGOBJECT_GETPICTURE=4 ; Create and return an object reference to a picture object ;Return code constants RET_DO_CANCEL=0 ; Cancels dialog RET_DO_DEFAULT= -1 ; Continue with default processing for control RET_DO_NOT_EXIT= -2 ; Do not exit the dialog Return #EndSubRoutine ;============================================================ ;============================================================ ;============================================================ #DefineFunction MyDialogCallbackProc(MyDialog_Handle,MyDialog_Message,MyDialog_ID,MyDialog_EventInfo,rsvd) InitDialogConstants() ; Initialize Dialog Constants Switch MyDialog_Message ; Switch based on Dialog Message type Case MSG_INIT ; Standard Initialization message CBox2MLButton(MyDialog_Handle, 4) ; Change Checkbox (control ID 004) to a Button with multiline style CBox2MLButton(MyDialog_Handle, 5) ; Change Checkbox (control ID 005) to a Button with multiline style CBox2MLButton(MyDialog_Handle, 6) ; Change Checkbox (control ID 006) to a Button with multiline style ; DialogProcOptions(MyDialog_Handle,MSG_TIMER,1000) ; DialogProcOptions(MyDialog_Handle,MSG_BUTTONPUSHED,@TRUE) DialogProcOptions(MyDialog_Handle,MSG_CHECKBOX,@TRUE) Return(RET_DO_DEFAULT) ; case MSG_BUTTONPUSHED ; switch MyDialog_ID ; case 001 ; ID 001 OK ; return(RET_DO_DEFAULT) ; case 002 ; ID 002 Cancel ; return(RET_DO_DEFAULT) ; endswitch ; MyDialog_ID ; return(RET_DO_DEFAULT) Case MSG_CHECKBOX Switch MyDialog_ID Case 003 ; ID 003 MyVariable1 A Normal Checkbox control - to show they still work as they should Message("Normal Checkboxes work just the way they always did","You clicked the normal Checkbox") Return(RET_DO_DEFAULT) Case 004 ; ID 004 MyVariable2 A Checkbox just like the normal one above but converted to a multiline button style. This new button will automatically wrap long text onto the next line. Message("Converted Checkboxes still have their click event seen as coming from a Checkbox, not a Button","You clicked the first converted Checkbox that looks like a button - this event is still processed as a click to a checkbox by the dialog procedure, however there are no checked and unchecked states.") Return(RET_DO_DEFAULT) Case 005 ; ID 005 MyVariable3 Same as above, just square and showing color and font stuff still works Message("The title can be read in the normal way",DialogControlGet(MyDialog_Handle, 5, 4 )) ; Returns text and state information associated with a control. Return(RET_DO_DEFAULT) Case 006 ; ID 006 MyVariable4 Check 4 Message("Checkboxes by default don't close Dialogs but Buttons do - so force it if you want it","You need to force the Return action of a click to 'RET_DO_CANCEL' (Zero) in order to close the Dialog if you want to mimic the Default action of a real Button - that's what this one has,... so bye for now!") Return(RET_DO_CANCEL) EndSwitch ; MyDialog_ID Return(RET_DO_DEFAULT) EndSwitch ; MyDialog_Message Return(RET_DO_DEFAULT) #EndFunction ; End of Dialog Callback MyDialogCallbackProc ;============================================================ ;============================================================ ;============================================================ ;There is something about 'real' WinBatch buttons that wont accept the multiline style, so that's why I picked on the Checkbox - they are closely related and seem to accept the style change just fine. MyDialogFormat=`WWWDLGED,6.1` MyDialogCaption=`....IFICantBYTE's Multiline Button Control Example` MyDialogX=685 MyDialogY=136 MyDialogWidth=194 MyDialogHeight=240 MyDialogNumControls=007 MyDialogProcedure=`MyDialogCallbackProc` MyDialogFont=`DEFAULT` MyDialogTextColor=`DEFAULT` MyDialogBackground=`DEFAULT,DEFAULT` MyDialogConfig=0 MyDialog001=`011,185,036,012,PUSHBUTTON,DEFAULT,"OK",1,1,32,DEFAULT,DEFAULT,DEFAULT` MyDialog002=`143,185,036,012,PUSHBUTTON,DEFAULT,"Cancel",0,2,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog003=`007,005,176,012,CHECKBOX,MyVariable1,"A Normal Checkbox control - to show they still work as they should",1,3,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog004=`007,021,176,038,CHECKBOX,MyVariable2,"This was actually a Checkbox just like the normal one above but converted to a MULTILINE button style. This new 'button' will automatically wrap long text onto the next line. The dialog's callback procedure still thinks it's a Checkbox though and captures its click events as such.",1,4,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog005=`007,067,044,044,CHECKBOX,MyVariable3,"Same as above except square",1,5,DEFAULT,DEFAULT,DEFAULT,DEFAULT` MyDialog006=`059,067,124,110,CHECKBOX,MyVariable4,"Same again but with a custom font - unfortunately colors don't work :-(%@LF%%@LF%Note%@LF%that%@LF%you%@LF%can%@LF%also%@LF%force%@LF%linefeeds!%@LF%%@LF%This one also exits the Dialog.",1,6,DEFAULT,Times New Roman|7680|70|18,"0|128|0","128|128|255"` MyDialog007=`005,201,182,032,STATICTEXT,DEFAULT,"There is something about 'real' WinBatch buttons that wont accept the multiline style, so that's why I picked on the Checkbox - they are closely related (as are radio buttons) and seem to accept the style change just fine.",DEFAULT,7,512,"Microsoft Sans Serif|5632|70|34","0|0|0","128|128|255"` ButtonPushed=Dialog("MyDialog")
Article ID: W17783
Filename: MultilineButtonText.txt
File Created: 2011:05:11:13:33:36
Last Updated: 2011:05:11:13:33:36