Leaderboard
Popular Content
Showing content with the highest reputation on 06/13/2021 in all areas
-
2 points
-
It would depend on what they do with the files. If they are wise, they will back up their single copies to other drives ... and therein lies the potential problem. It's not a big issue, just one I like to cover, hence the code. Having done the code I felt compelled to share. I am happy with my solution. I had a need, and coded for it. I did not even consider trying to find other solutions ... not a big enough deal or common enough occurrence.2 points
-
RAGrid grid custom control
pixelsearch and one other reacted to robertocm for a topic
After reading this tutorial about Dlls by Andreas Karlsson Seems that below fix code for RAGRID control would be working (tested on Windows XP, AutoIt 3.3.14.5) #cs ---------------------------------------------------------------------------- funkey, Feb 8, 2012 https://www.autoitscript.com/forum/topic/137333-ragriddll/?do=findComment&comment=961420 RaGrid download: ;KetilO, 2009 ;http://www.asmcommunity.net/forums/topic/?id=29679 Code examples: http://c--sphinx.narod.ru/exampl_e.htm https://maul-esel.github.io/FormsFramework/files/RaGrid/RaGrid-ahk.html https://www.purebasic.fr/english/viewtopic.php?t=47141 https://bcxbasiccoders.com/bcxusers/ian/Miscellaneous%20Code.html bcx_raGridWrappers.inc #ce ---------------------------------------------------------------------------- #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> #include <Color.au3> ; #CONSTANTS# =================================================================================================================== ;gnozal, Aug 11, 2011 ;https://www.purebasic.fr/english/viewtopic.php?t=47141 ;http://www.pbosl.purearea.net/pbosl_examples.zip [in .\pbosl_examples\PBOSL4\EXAMPLES\PBOSL_CreateGadget\ ] ;Messages Global Const $GM_ADDCOL = $WM_USER + 1 ;wParam=0, lParam=lpCOLUMN Global Const $GM_ADDROW = $WM_USER + 2 ;wParam=0, lParam=lpROWDATA (can be NULL) Global Const $GM_INSROW = $WM_USER + 3 ;wParam=nRow, lParam=lpROWDATA (can be NULL) Global Const $GM_DELROW = $WM_USER + 4 ;wParam=nRow, lParam=0 Global Const $GM_MOVEROW = $WM_USER + 5 ;wParam=nFromRow, lParam=nToRow Global Const $GM_COMBOADDSTRING = $WM_USER + 6 ;wParam=nCol, lParam=lpszString Global Const $GM_COMBOCLEAR = $WM_USER + 7 ;wParam=nCol, lParam=0 Global Const $GM_GETCURSEL = $WM_USER + 8 ;wParam=0, lParam=0 Global Const $GM_SETCURSEL = $WM_USER + 9 ;wParam=nCol, lParam=nRow Global Const $GM_GETCURCOL = $WM_USER + 10 ;wParam=0, lParam=0 Global Const $GM_SETCURCOL = $WM_USER + 11 ;wParam=nCol, lParam=0 Global Const $GM_GETCURROW = $WM_USER + 12 ;wParam=0, lParam=0 Global Const $GM_SETCURROW = $WM_USER + 13 ;wParam=nRow, lParam=0 Global Const $GM_GETCOLCOUNT = $WM_USER + 14 ;wParam=0, lParam=0 Global Const $GM_GETROWCOUNT = $WM_USER + 15 ;wParam=0, lParam=0 Global Const $GM_GETCELLDATA = $WM_USER + 16 ;wParam=nRowCol, lParam=lpData Global Const $GM_SETCELLDATA = $WM_USER + 17 ;wParam=nRowCol, lParam=lpData (can be NULL) Global Const $GM_GETCELLRECT = $WM_USER + 18 ;wParam=nRowCol, lParam=lpRECT Global Const $GM_SCROLLCELL = $WM_USER + 19 ;wParam=0, lParam=0 Global Const $GM_GETBACKCOLOR = $WM_USER + 20 ;wParam=0, lParam=0 Global Const $GM_SETBACKCOLOR = $WM_USER + 21 ;wParam=nColor, lParam=0 Global Const $GM_GETGRIDCOLOR = $WM_USER + 22 ;wParam=0, lParam=0 Global Const $GM_SETGRIDCOLOR = $WM_USER + 23 ;wParam=nColor, lParam=0 Global Const $GM_GETTEXTCOLOR = $WM_USER + 24 ;wParam=0, lParam=0 Global Const $GM_SETTEXTCOLOR = $WM_USER + 25 ;wParam=nColor, lParam=0 Global Const $GM_ENTEREDIT = $WM_USER + 26 ;wParam=nCol, lParam=nRow Global Const $GM_ENDEDIT = $WM_USER + 27 ;wParam=nRowCol, lParam=fCancel Global Const $GM_GETCOLWIDTH = $WM_USER + 28 ;wParam=nCol, lParam=0 Global Const $GM_SETCOLWIDTH = $WM_USER + 29 ;wParam=nCol, lParam=nWidth Global Const $GM_GETHDRHEIGHT = $WM_USER + 30 ;wParam=0, lParam=0 Global Const $GM_SETHDRHEIGHT = $WM_USER + 31 ;wParam=0, lParam=nHeight Global Const $GM_GETROWHEIGHT = $WM_USER + 32 ;wParam=0, lParam=0 Global Const $GM_SETROWHEIGHT = $WM_USER + 33 ;wParam=0, lParam=nHeight Global Const $GM_RESETCONTENT = $WM_USER + 34 ;wParam=0, lParam=0 Global Const $GM_COLUMNSORT = $WM_USER + 35 ;wParam=nCol, lParam=0=Ascending, 1=Descending, 2=Invert Global Const $GM_GETHDRTEXT = $WM_USER + 36 ;wParam=nCol, lParam=lpBuffer Global Const $GM_SETHDRTEXT = $WM_USER + 37 ;wParam=nCol, lParam=lpszText Global Const $GM_GETCOLFORMAT = $WM_USER + 38 ;wParam=nCol, lParam=lpBuffer Global Const $GM_SETCOLFORMAT = $WM_USER + 39 ;wParam=nCol, lParam=lpszText Global Const $GM_CELLCONVERT = $WM_USER + 40 ;wParam=nRowCol, lParam=lpBuffer Global Const $GM_RESETCOLUMNS = $WM_USER + 41 ;wParam=0, lParam=0 Global Const $GM_GETROWCOLOR = $WM_USER + 42 ;wParam=nRow, lParam=lpROWCOLOR Global Const $GM_SETROWCOLOR = $WM_USER + 43 ;wParam=nRow, lParam=lpROWCOLOR Global Const $GM_GETCOLDATA = $WM_USER + 44 ;wParam=nCol, lParam=lpCOLUMN ;Column alignment Global Const $GA_ALIGN_LEFT = 0 Global Const $GA_ALIGN_CENTER = 1 Global Const $GA_ALIGN_RIGHT = 2 ;Column types Global Const $TYPE_EDITTEXT = 0 ;String Global Const $TYPE_EDITLONG = 1 ;Long Global Const $TYPE_CHECKBOX = 2 ;Long Global Const $TYPE_COMBOBOX = 3 ;Long Global Const $TYPE_HOTKEY = 4 ;Long Global Const $TYPE_BUTTON = 5 ;String Global Const $TYPE_IMAGE = 6 ;Long Global Const $TYPE_DATE = 7 ;Long Global Const $TYPE_TIME = 8 ;Long Global Const $TYPE_USER = 9 ;0=String, 1 to 512 bytes binary data Global Const $TYPE_EDITBUTTON = 10 ;String ;Column sorting Global Const $SORT_ASCENDING = 0 Global Const $SORT_DESCENDING = 1 Global Const $SORT_INVERT = 2 ;Window styles Global Const $STYLE_NOSEL = 0x1 Global Const $STYLE_NOFOCUS = 0x2 Global Const $STYLE_HGRIDLINES = 0x4 Global Const $STYLE_VGRIDLINES = 0x8 Global Const $STYLE_GRIDFRAME = 0x10 Global Const $STYLE_NOCOLSIZE = 0x20 Global Const $ODT_GRID = 6 ;~ Global Const $PB_EventType_Grid_HeaderClick = 1 ;User clicked header ;~ Global Const $PB_EventType_Grid_ButtonClick = 2 ;Sendt when user clicks the button in a button cell ;~ Global Const $PB_EventType_Grid_CheckClick = 3 ;Sendt when user double clicks the checkbox in a checkbox cell ;~ Global Const $PB_EventType_Grid_ImageClick = 4 ;Sendt when user double clicks the image in an image cell ;~ Global Const $PB_EventType_Grid_BeforeSelChange = 5 ;Sendt when user request a selection change ;~ Global Const $PB_EventType_Grid_AfterSelChange = 6 ;Sendt after a selection change ;~ Global Const $PB_EventType_Grid_BeforeEdit = 7 ;Sendt before the cell edit control shows ;~ Global Const $PB_EventType_Grid_AfterEdit = 8 ;Sendt when the cell edit control is about to close ;~ Global Const $PB_EventType_Grid_BeforeUpdate = 9 ;Sendt before a cell updates grid data ;~ Global Const $PB_EventType_Grid_AfterUpdate = 10 ;Sendt after grid data has been updated ;~ Global Const $PB_EventType_Grid_UserConvert = 11 ;Sendt when user cell needs to be converted. ;funkey, Feb 8, 2012 ;https://www.autoitscript.com/forum/topic/137333-ragriddll/?do=findComment&comment=961420 Global Const $__RAGRIDCONSTANT_DEFAULT_GUI_FONT = 17 Global Const $GN_HEADERCLICK = 1 ;User clicked header Global Const $GN_BUTTONCLICK = 2 ;Sendt when user clicks the button in a button cell Global Const $GN_CHECKCLICK = 3 ;Sendt when user double clicks the checkbox in a checkbox cell Global Const $GN_IMAGECLICK = 4 ;Sendt when user double clicks the image in an image cell Global Const $GN_BEFORESELCHANGE = 5 ;Sendt when user request a selection change Global Const $GN_AFTERSELCHANGE = 6 ;Sendt after a selection change Global Const $GN_BEFOREEDIT = 7 ;Sendt before the cell edit control shows Global Const $GN_AFTEREDIT = 8 ;Sendt when the cell edit control is about to close Global Const $GN_BEFOREUPDATE = 9 ;Sendt before a cell updates grid data Global Const $GN_AFTERUPDATE = 10 ;Sendt after grid data has been updated Global Const $GN_USERCONVERT = 11 ;Sendt when user cell needs to be converted. Global $Form Global $hGrid Global $hLib Global $hFont Global $lf = DllStructCreate($tagLOGFONT) Global Const $IDC_GRID = 101 Global $hWndSaveFocus = 0 ;take a little time to fill grid on startup with a large number Global Const $iRows = 500 Main() Func Main() FormLoad() If @error = 0 Then ;WinFlash($Form) GUIRegisterMsg($WM_NCACTIVATE, "MY_WM_COMMAND") GUIRegisterMsg($WM_NOTIFY, "MY_WM_COMMAND") GUIRegisterMsg($WM_DESTROY, "MY_WM_COMMAND") While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE ExitLoop ;Case $IDC_GRID ;WinFlash($Form) EndSwitch WEnd GUIRegisterMsg($WM_NCACTIVATE, "") GUIRegisterMsg($WM_NOTIFY, "") GUIRegisterMsg($WM_DESTROY, "") EndIf $lf = 0 EndFunc ;==>Main Func FormLoad() Local $wx = 700 Local $wh = 500 $Form = GUICreate("RAGrid Sample Program", $wx, $wh, 0, 0) $hLib = DllOpen(@ScriptDir & "\RAGrid.dll") If $hLib <> -1 Then Local $style = BitOR($WS_CHILD, $WS_VISIBLE, $STYLE_HGRIDLINES, $STYLE_VGRIDLINES, $STYLE_GRIDFRAME, $STYLE_NOSEL) $hGrid = _WinAPI_CreateWindowEx($WS_EX_CLIENTEDGE, "RAGrid", "", $style, 10, 10, $wx - 15, $wh - 35, $Form, $IDC_GRID) If $hGrid Then GridSetup($hGrid) ColorTheGrid($hGrid, $iRows) EndIf Else MsgBox(266288, "Error", "RaGrid.dll failed to load") GUIDelete($Form) Return SetError(1, 0, 0) EndIf GUISetState(@SW_SHOW) EndFunc ;==>FormLoad Func MY_WM_COMMAND($hWnd, $CBMSG, $wParam, $lParam) Switch $CBMSG Case $WM_NCACTIVATE If Not $wParam Then ; Save control focus $hWndSaveFocus = _WinAPI_GetFocus() ElseIf $hWndSaveFocus Then ; Restore control focus _WinAPI_SetFocus($hWndSaveFocus) $hWndSaveFocus = 0 EndIf Case $WM_NOTIFY ; Process grid notifications Local $pnmh = DllStructCreate("GRIDNOTIFY", $lParam) If DllStructGetData($pnmh, "hwndFrom") = $hGrid Then Switch DllStructGetData($pnmh, "Code") Case $GN_HEADERCLICK ; Sort the grid by column, invert sorting order _SendMessage($hGrid, $GM_COLUMNSORT, DllStructGetData($pnmh, "col"), $SORT_INVERT) ColorTheGrid($hGrid, $iRows) EndSwitch EndIf Case $WM_DESTROY _WinAPI_DeleteObject($hFont) EndSwitch EndFunc ;==>MY_WM_COMMAND Func GridSetup($hWnd) Local $lpzhdrtext, $lpsz, $r, $c, $z Local $col = DllStructCreate("UINT colwt;UINT lpszhdrtext;UINT halign;UINT calign;UINT ctype;UINT ctextmax;UINT lpszformat;UINT himl;UINT hdrflag") If @error Then MsgBox($MB_SYSTEMMODAL, "ERROR", "Error: " & _WinAPI_GetLastErrorMessage()) MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), Default, "Error in DllStructCreate, Code: " & @error) EndIf For $i = 1 To 5 ; Create and format 5 columns $lpzhdrtext = DllStructCreate("wchar[1]") ;$lpzhdrtext = DllStructCreate("char[1]") DllStructSetData($lpzhdrtext, 1, Chr(64 + $i)) DllStructSetData($col, "colwt", 130) DllStructSetData($col, "lpszhdrtext", DllStructGetPtr($lpzhdrtext)) DllStructSetData($col, "halign", $GA_ALIGN_CENTER) DllStructSetData($col, "calign", $GA_ALIGN_CENTER) DllStructSetData($col, "ctype", $TYPE_EDITTEXT) DllStructSetData($col, "ctextmax", 31) DllStructSetData($col, "lpszformat", 0) DllStructSetData($col, "himl", 0) DllStructSetData($col, "hdrflag", 0) _SendMessage($hWnd, $GM_ADDCOL, 0, DllStructGetPtr($col)) Next DllStructSetData($lf, "Height", -12) ; Our grid will use 10 point Arial font If @error Then MsgBox($MB_SYSTEMMODAL, "ERROR", "Error: " & _WinAPI_GetLastErrorMessage()) MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), Default, "Error in DllStructCreate, Code: " & @error) EndIf DllStructSetData($lf, "FaceName", "SEGOE IU") If @error Then MsgBox($MB_SYSTEMMODAL, "ERROR", "Error: " & _WinAPI_GetLastErrorMessage()) MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), Default, "Error in DllStructCreate, Code: " & @error) EndIf $hFont = _WinAPI_CreateFontIndirect($lf) _SendMessage($hGrid, $WM_SETFONT, $hFont, 0) If @error Then MsgBox($MB_SYSTEMMODAL, "ERROR", "Error: " & _WinAPI_GetLastErrorMessage()) MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), Default, "Error in DllStructCreate, Code: " & @error) EndIf For $i = 1 To $iRows ; Create 32,765 blank rows _SendMessage($hGrid, $GM_ADDROW, 0, 0) Next If @error Then MsgBox($MB_SYSTEMMODAL, "ERROR", "Error: " & _WinAPI_GetLastErrorMessage()) MsgBox(BitOR($MB_SYSTEMMODAL, $MB_ICONHAND), Default, "Error in DllStructCreate, Code: " & @error) EndIf For $r = 0 To $iRows - 1; Fill our grid with some data For $c = 0 To 4 $z = String(Random(0, $iRows)) $lpsz = DllStructCreate("char[" & StringLen($z) + 1 & "]") DllStructSetData($lpsz, 1, $z) _SendMessage($hGrid, $GM_SETCELLDATA, _WinAPI_MakeLong($c, $r), DllStructGetPtr($lpsz)) Next Next EndFunc ;==>GridSetup Func ColorTheGrid($hWnd, $Rows) Local $grc = DllStructCreate("UINT backcolor;UINT textcolor") DllStructSetData($grc, "backcolor", _MakeRGB(0, 240, 230)) DllStructSetData($grc, "textcolor", 0) For $i = 0 To $Rows - 1 Step 2 _SendMessage($hWnd, $GM_SETROWCOLOR, $i, DllStructGetPtr($grc)) Next DllStructSetData($grc, "backcolor", _MakeRGB(255, 255, 255)) DllStructSetData($grc, "textcolor", 0) For $i = 1 To $Rows Step 2 _SendMessage($hWnd, $GM_SETROWCOLOR, $i, DllStructGetPtr($grc)) Next $grc = 0 EndFunc ;==>ColorTheGrid Func _MakeRGB($b, $g, $r) Local $aRGB[3] $aRGB[0] = $r $aRGB[1] = $g $aRGB[2] = $b Return _ColorSetRGB($aRGB) EndFunc ;==>_MakeRGB2 points -
Do you mean something like this ? #include <GuiMenu.au3> Run("Notepad") WinWait("[CLASS:Notepad]") Global $hNotepad = WinGetHandle("[CLASS:Notepad]") DisableButton($hNotepad, $SC_MOVE) Func DisableButton($hWnd, $iButton) $hSysMenu = _GUICtrlMenu_GetSystemMenu($hWnd, 0) _GUICtrlMenu_RemoveMenu($hSysMenu, $iButton, False) _GUICtrlMenu_DrawMenuBar($hWnd) EndFunc Func EnableButton($hWnd, $iButton) $hSysMenu = _GUICtrlMenu_GetSystemMenu($hWnd, 1) _GUICtrlMenu_RemoveMenu($hSysMenu, $iButton, False) _GUICtrlMenu_DrawMenuBar($hWnd) EndFunc2 points
-
Not entirely sure what you mean by that, but I'll elaborate on what I meant by it. One day, I'll either be gone (passed on ... dead as a dodo) or perhaps missing too many marbles before that, and my kids will essentially inherit my media files. So when it comes to my games, I save the game's web page for that version of the game, for future reference, which could be helpful ... certainly helpful for me when I catalog on a different PC or perhaps need to troubleshoot etc. You can see it as a form of future-proofing for the DRM-Free games I have bought.1 point
-
RAGrid grid custom control
pixelsearch reacted to Gianni for a topic
nice custom control tried it on win10 and AutoIt 3.3.14.5, i used ragrid.dll 2.0.1.5 downloaded from here: https://web.archive.org/web/20131126104818/http://www.oby.ro/rad_asm/projects/projects.html and also with ragrid.dll 2.0.1.6 downloaded from here: https://www.zhaodll.co/plus/download2.php?aid=150211 and it seems to work with both. it would be interesting to have a list of properties and methods.1 point -
Incremental search in owner and custom drawn ListViews
Norm73 reacted to pixelsearch for a topic
@Norm73 Glad to hear that "2s with adjustment" works for you. I was aware that the orange marker needs a little fix, but first I wanted to make sure that the basic adjustment works on your computer (it should work on powerofos's computer too) So the idea is to have an additional empty hidden column 0, so we get rid of all issues concerning column 0 if it stays constantly at the leftmost position, which means we also need to prevent any other header to be dragged at leftmost position ! In the test script below, I succeeded to prevent this. Imagine column 0 being hidden in this test script, then when you launch it, this is what happens : 1) You can't drag header 0 anywhere, great ! 2) If you try to drag any other header at the leftmost position (i.e. at the left of column 0) then it won't be accepted, which is what we want. All others dragging cases are accepted. Thanks to $tNMHEADER.pItem that I discovered recently on msdn #include <GuiListView.au3> #include <GuiConstantsEx.au3> #include <WindowsConstants.au3> $hGUI = GUICreate("ListView: prevent some dragging", 400, 300) $hListView = GUICtrlCreateListView("Column 0|Column 1|Column 2|Column 3", 2, 2, 394, 268) _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOr($LVS_EX_FULLROWSELECT, $LVS_EX_HEADERDRAGDROP)) $g_hHeader = _GUICtrlListView_GetHeader($hListView) GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") GUISetState() Do Until GUIGetMsg() = $GUI_EVENT_CLOSE Func _WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) Local $tNMHEADER = DllStructCreate($tagNMHEADER, $lParam) Local $iCode = DllStructGetData($tNMHEADER, "Code") Switch $iCode Case $HDN_ENDDRAG ; "sent by a header control when a drag operation has ended on one of its items." Local $iCol = DllStructGetData($tNMHEADER, "Item") Local $tHDITEM = DllStructCreate($tagHDITEM, $tNMHEADER.pItem) ConsoleWrite("$iCol = " & $iCol & " $tHDITEM.Order = " & $tHDITEM.Order & @lf) ; if dragged header = column 0 (possible on hidden column ? [in another script]) OR ; if dragged header (> 0) is dropped at leftmost position (at the left of hidden column 0) ... ; ...then prevent header to be dragged (Return True) If $iCol = 0 Or $tHDITEM.Order = 0 Then Return True ; True prevents, False allows EndSwitch Return $GUI_RUNDEFMSG EndFunc ; see also "176a.au3" (for other very interesting use of $tNMHEADER.pItem) But no hurry, please do not add this Case $HDN_ENDDRAG to "2s with adjustment" right now as it needs $tNMHEADER etc... When a new version will be ready, I'll include the fixes we're talking about, though I won't touch at "2s" and "2t" in the precedent page : they work fine when there is no horizontal scrollbar. New versions will probably be "2u" etc... though the alphabet end will soon be reached1 point -
Executing Scripts to perform UDFs in chrome
mLipok reacted to Tcarey8080 for a topic
Trying to run the simple script in the video above have the same script saved all the udfs the user had compiled in the same folder with chromedriver saved au3 extensions in chrome however nothing happens when I go to run script what could I be overlooking any suggestions or guidance anyone can lend me would be awesome pulling my hair out1 point -
Incremental search in owner and custom drawn ListViews
pixelsearch reacted to Norm73 for a topic
1 point -
PHAK, You need to explain in much more detail what you want to achieve. For example, by "sliding" do you mean scrolling or moving? M231 point
-
Incremental search in owner and custom drawn ListViews
Norm73 reacted to pixelsearch for a topic
@powerofos glad I didn't delete a few hours ago a text file named "keep a moment, who knows.txt", its content will be displayed below. I'm sticking to the idea of creating a ghost hidden column 0, maybe it could solve your issue of horizontal scrolling and headers dragging, it will leave column 0 hidden and untouched. This is just the basic (unfinished) changes you could try in version "2s" (not "2t") found in preceding page, to see where it goes. I tried it, now there is a horizontal scrollbar in the pic below ("strings" column width changed from 230 to 330) and its redraw looks fine when you drag and redrag it (as it's no more column 0) Basic changes in "2s" (or in a copy of "2s" to keep original untouched) =========== Lines 12-14 old Global $g_iRows = 1000, $g_iCols = 6, $g_hGui, $g_hListView, $g_hHeader, $g_hEdit Global $g_aCols = ["Strings", "Integers", "Floats", "Dates", "Times", "R/C"], $g_aWidths = [230, 61, 124, 70, 60, 60] Global $g_aColAligns[$g_iCols] = [2, 1, 1, 1, 1, 1] ; $HDF_LEFT = 0, $HDF_RIGHT = 1, $HDF_CENTER = 2 new Global $g_iRows = 1000, $g_iCols = 1 + 6, $g_hGui, $g_hListView, $g_hHeader, $g_hEdit Global $g_aCols = ["", "Strings", "Integers", "Floats", "Dates", "Times", "R/C"], $g_aWidths = [0, 330, 61, 124, 70, 60, 60] Global $g_aColAligns[$g_iCols] = [0, 2, 1, 1, 1, 1, 1] ; $HDF_LEFT = 0, $HDF_RIGHT = 1, $HDF_CENTER = 2 =========== Lines 58-61 old $g_idComboCol = GUICtrlCreateCombo("0", 452, 9, 41, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) $g_iSearchCol = 0 ; default column where to search (changeable) Local $iSearchColPrev = $g_iSearchCol For $i = 1 To $g_iCols - 1 new $g_idComboCol = GUICtrlCreateCombo("1", 452, 9, 41, 20, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) $g_iSearchCol = 1 ; default column where to search (changeable) Local $iSearchColPrev = $g_iSearchCol For $i = 2 To $g_iCols - 1 =========== Line 71 old _GUICtrlListView_SetExtendedListViewStyle($g_idListView, BitOr($LVS_EX_DOUBLEBUFFER, $LVS_EX_FULLROWSELECT)) new _GUICtrlListView_SetExtendedListViewStyle($g_idListView, BitOr($LVS_EX_DOUBLEBUFFER, $LVS_EX_FULLROWSELECT, $LVS_EX_HEADERDRAGDROP)) =========== Line 444 old $g_aArray = FAS_Random2DArrayAu3($g_iRows, "sifdtr", "abcdefghijklmnopqrstuvwxyz") new $g_aArray = FAS_Random2DArrayAu3($g_iRows, "isifdtr", "abcdefghijklmnopqrstuvwxyz") Unfortunately, the search function needs now to be amended, but well, that's a start and better than nothing. I'm not sure I'll keep on digging into this as it's starting to be complicated, we'll see. Hope it will help you and good luck Edit: also please remember what LarsJ wrote about the issue of resizing columns in these LV ("No ListView column resizing by dragging header dividers") "A workaround for all these HDN_DIVIDERDBLCLICK issues is to set correct column widths from the start, and then disable column resize through dragging/double-clicking header dividers by adding the HDS_NOSIZING style to the header control."1 point -
@TheXman I totally appreciate your position. While I am trying to learn, I am also solving a real world problem. Or maybe better stated, trying to solve a real world problem is forcing me to learn something new (RegEx) and I am trying to take on that challenge. Since my profession is teaching, I probably forget how it can be frustrating for others when there is a moving target; whereas for me, that is my entire existence as a teacher. Even though the subject matter is the same every year, when you're faced with a classroom of 30 eight-year olds, I have to find multiple ways to explain the subject matter because every kid has a different starting point and their minds works differently. Some understand it quicker than others. And sometimes the subject matter takes us to unexpected places. When we were talking about dying stars, one student asked me, "If all stars die, then why do people tell us to wish up on a star?" All of that to say, sorry if I did not anticipate how frustrating it could be to try and solve a moving target. Futhermore, I understand your position in "not doing it for the likes." As a teacher you don't get into this job for the likes, because they are few. And you certainly don't get into teaching for the money, because there is none. You get into teaching, because you hope you can make a better future for the children in front of you. Thank you again for your time and patience.1 point