Moderators Melba23 Posted August 9, 2015 Author Moderators Posted August 9, 2015 CaptainGadget,Thanks for that - I will release a new version soon.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Moderators Melba23 Posted August 9, 2015 Author Moderators Posted August 9, 2015 [BUGFIX VERSION] 9 Aug 15Fixed: Bug introduced in last update which crashed when run on XP - sorry about that.New UDF and examples in first post.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Tippex Posted August 12, 2015 Posted August 12, 2015 I had a problem with displaying a chunk of text:$Whats2015 = _ " Amendment history - 2015" & @CRLF & _ "" & @CRLF & _ " Version | Date | Author | Details" & @CRLF & _ " ---------+-------------+------------------+--------------------------------------------------------------------------------------------------------" & @CRLF & _ " 1.0.265 | 12-Jan-2015 | Only Myself | Minor improvement to add lots of wonderful features and all the bells and whistles I could think of now" & @CRLF & _ " 1.0.266 | 13-Jan-2015 | Only Myself | Minor amendment to correct all the bugs I inadvertently added in when adding the recent new features" & @CRLF & _ " 1.0.267 | 15-Jan-2015 | Only Myself | Minor improvement to the application to improve the responsiveness and performance in every way possible" & @CRLF & _ " 1.0.268 | 21-Jan-2015 | Only Myself | Minor amendment to stabilise the application which crashed and froze in every way possible after changes" & @CRLF & _ " 1.0.269 | 28-Jan-2015 | Only Myself | Minor improvement to take advantage of new features now available in the latest Windows beta OS" & @CRLF & _ " 1.0.270 | 04-Feb-2015 | Only Myself | Minor amendment to remove incompatibility stopping the App from running on all but the latest Windows beta OS" & @CRLF & _ " 1.0.271 | 10-Mar-2015 | Only Myself | Minor improvement to add an on-line help search menu with feature documentation and planned updates" & @CRLF & _ " 1.0.272 | 03-Jun-2015 | Only Myself | Minor amendment to update feature documentation links which were all misaligned to planned updates" & @CRLF & _ " 1.0.273 | 15-Jun-2015 | Only Myself | Minor improvement to overhaul the application to implement planned updates to all the main code modules" & @CRLF & _ " 1.0.274 | 19-Jun-2015 | Only Myself | Minor amendment to fix the system to work in a limited way while the main code modules are now non-operational" & @CRLF & _ " 1.0.275 | 02-Jul-2015 | Only Myself | Minor amendment to back out all the recent code changes from achive vault and get the application working" & @CRLF & _ " 1.0.278 | 06-Aug-2015 | Only Myself | Minor improvement to display to amendment history screen with better readability, colour and font usage" & @CRLF & _ " 1.0.279 | 11-Aug-2015 | Only Myself | Minor amendment to replace an external UDF which was uncompatible with XP and even took the App down with it" & @CRLF & _ " ---------------------------------------------------------------------------------------------------------------------------------------------------" _ExtMsgBoxSet(5, $SS_LEFT, 0xE8EDFC, -1, 9, "Courier New") _ExtMsgBoxSet(-1, -1, -1, -1, -1, -1, @DesktopWidth - 20, @DesktopWidth - 20) _ExtMsgBox(64, "OK", "2015 Changes", $Whats2015)And found that I had to make the change shown below for it to work for me:; Get message label size While 1 Local $aLabel_Pos = _StringSize($sText, $g_aEMB_Settings[4], Default, $iExpTab, $g_aEMB_Settings[5], $iMsg_Width_Max - 20 - $iIcon_Reduction) If @error Then ;If $iMsg_Width_Max >= $iMsg_Width_Abs Then ;Changed this from $iMsg_Width_Abs to $iMsg_Width_Abs * 10 to allow for very large notes with embedded carriage returns If $iMsg_Width_Max >= $iMsg_Width_Abs * 10 Then Return SetError(6, 0, -1) Else $iMsg_Width_Max += 10 EndIf Else ExitLoop EndIf WEndIs this something that can may be added to any new version please or do I need to remember to make the change myself?Thanks
Moderators Melba23 Posted August 12, 2015 Author Moderators Posted August 12, 2015 Tippex,Your code works for me without problem - all the text is displayed within the ExtMsgBox and the line breaks occur where they should. What happens when you run it? Do you get @error set to 6? If you get something which is badly formatted, can you post an image? And why the 2 _ExtMsgBoxSet calls? Why not combine them?As to the more general point, the $iWidth_Abs parameter is set by the user to determine the absolute maximum width so changing the code to override this internally does not seem a very good idea to me. If we can determine why you do not get the required result, that would be a better solution than you arbitrarily changing the code.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Tippex Posted August 13, 2015 Posted August 13, 2015 Ever so sorry!! I must have compiled with the: _ExtMsgBoxSet(-1, -1, -1, -1, -1, -1, @DesktopWidth - 20, @DesktopWidth - 20)commented out (I had these lines split whilst troubleshooting but will now combine them).leaving $iWidth & $iWidth_Abs at their default values results in nothing being displayed but specifying @DesktopWidth - 20 for them does indeed work.
Moderators Melba23 Posted August 13, 2015 Author Moderators Posted August 13, 2015 Tippex,No problem - glad you found the probem so I did not have to go through a long (and obviously fruitless) debugging session!M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
ViciousXUSMC Posted December 28, 2015 Posted December 28, 2015 Melba, I have always enjoyed this UDF when I have reason to use it.I am working on a little product and could use this, with one exception.By default your buttons are auto width side by side, is there any way to get my buttons vertical full length? I need to fit entire sentences in the button as I am doing a multiple choice q&a script.
Moderators Melba23 Posted December 28, 2015 Author Moderators Posted December 28, 2015 ViciousXUSMC,I need to fit entire sentences in the buttonWhich suggests to me that this is not the best way for you to go. Small dialogs such as these are not intended to hold large data blocks - I think you would be better served by designing your own GUI. My StringSize UDF will help you correctly size the buttons and thus the GUI to hold them - by all means start a GH&S thread if you run into problems.M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
frankg2 Posted March 11, 2016 Posted March 11, 2016 Aside from making my GUI topmost, is there a setting to make it modal (that is, it has the focus and no other windows can be activated until my GUI is closed)? Thanks M23 for this UDF.
Moderators Melba23 Posted March 15, 2016 Author Moderators Posted March 15, 2016 (edited) frankg2, No modal setting I am afraid. M23 Edit: But you could do something like this: #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include "ExtMsgBox.au3" $hGUI = GUICreate("Test", 500, 500) $cEMB = GUICtrlCreateButton("EMB", 10, 10, 80, 30) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $cEMB $hModal = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP) GUISetBkColor(0x000000) GUISetState() WinSetTrans($hModal, "", 100) _ExtMsgBox(0, "Close", "Modal", "Try activating another window!") GUIDelete($hModal) EndSwitch WEnd Edited March 15, 2016 by Melba23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
frankg2 Posted March 20, 2016 Posted March 20, 2016 M23, Your suggestion is most welcome but is not for me as a beginner. Thank you very much for your time. frankg2
Moderators Melba23 Posted March 20, 2016 Author Moderators Posted March 20, 2016 frankg2, Quote not for me as a beginner On the contrary, I would have said that it was a perfect solution for a beginner as it requires nothing more than a "cut'n'paste" to work in your (or any) script. But it is your decision..... M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
pranaynanda Posted April 13, 2016 Posted April 13, 2016 Hey! How do I get this to work with this UDF? I tried it with the normal MsgBox() but realized soon that it couldn't solve my problem. Dim $sArray[1] $count = _GUICtrlListView_GetItemCount($ListView1) $aCount = 0 For $i = 1 To $count Step 1 If _GUICtrlListView_GetItemChecked($ListView1, $i-1) = True Then $sArray[$aCount]=_GUICtrlListView_GetItemText($ListView1, $i - 1, 1) ReDim $sArray[UBound($sArray) + 1] $aCount += 1 EndIf Next I want some text and then list all the items in $sArray[$aCount]. I want it like: Proceed? 1. $sArray[1] 2. $sArray[2] 3. $sArray[3] and so on...
Moderators Melba23 Posted April 14, 2016 Author Moderators Posted April 14, 2016 pranaynanda, Just concatenate the array elements (with intervening @CRLFs) into a string which you can then use in the UDF. But I would counsel against using a standard MsgBox or my UDF for this as if the array is of any size you will quickly get a string which will not display fully within the display limits. I would strongly advise using a GUI with a ListBox which will automatically scroll to display all the elements while allowing you to add button controls for user input. If you are unsure of what I mean then open a a new thread in GH&S and I will explain in more detail. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
buymeapc Posted August 8, 2016 Posted August 8, 2016 (edited) Hey Melba, great UDF!! I've come across an issue, though (and I'm sure it's with my code, not yours ) What might cause the GUICtrlCreateButton() function in this UDF to use higher control ids? For instance, in a sample script with 4 buttons, the ids for the buttons are 6, 7, 8, 9 and everything works great - I get the correct return values. However, in a script that was working, the ids are now created as 265, 266, 267, 268 which makes the return value not work properly. The GUICtrlCreateDummy() function sets its control as 5 in both working and non-working cases. Any idea why this is happening? Edited August 8, 2016 by buymeapc
Moderators Melba23 Posted August 8, 2016 Author Moderators Posted August 8, 2016 buymeapc, There is nothing in the UDF that should affect the ControlIDs of any other controls. Can you post the script concerned so I can take a look? Send it by PM if you do not want to post it in open forum. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Moderators Melba23 Posted August 9, 2016 Author Moderators Posted August 9, 2016 [BUGFIX VERSION] 9 Aug 16 (exactly 1 year since the last!) Fixed: The UDF depended on all buttons having consecutive ControlIDs - which is not always the case. Code rewritten to remove this requirement. Thanks to bymeapc who discovered the problem New UDF and examples in first post. M23 buymeapc 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
TheDcoder Posted August 9, 2016 Posted August 9, 2016 Just now, Melba23 said: (exactly 1 year since the last!) Ohhhh.. Nice! A coincidence. EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
buymeapc Posted August 10, 2016 Posted August 10, 2016 On 8/9/2016 at 5:11 AM, Melba23 said: [BUGFIX VERSION] 9 Aug 16 (exactly 1 year since the last!) Fixed: The UDF depended on all buttons having consecutive ControlIDs - which is not always the case. Code rewritten to remove this requirement. Thanks to bymeapc who discovered the problem New UDF and examples in first post. M23 Thanks for implementing this fix so quickly!! Downloading now
kashamalasha Posted September 29, 2016 Posted September 29, 2016 Hi! Is it possible to put some PNG file into the ExMsgBox instead of using $EMB_ constants? Thanks.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now