rootx Posted May 10, 2017 Share Posted May 10, 2017 I would like to order the title column, but when I do the icon does not exactly match, do you have any ideas? THX files ini and icon https://ufile.io/03x69 expandcollapse popup#include <StructureConstants.au3> #include <ButtonConstants.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <GuiListView.au3> #include <GDIPlus.au3> #include <Array.au3> #include <GuiImageList.au3> #include <StaticConstants.au3> #include <IE.au3> #include <Misc.au3> #include <EditConstants.au3> #include <ListBoxConstants.au3> #include <GuiListBox.au3> #include <File.au3> #include <FileConstants.au3> #include <WinAPI.au3> #include <WinAPITheme.au3> #include <Color.au3> #include <ColorConstants.au3> #include <WinAPIConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Global $IEControl,$tini = @ScriptDir&"\test.ini" Global $ListView, $g_bSortSense = False ; Set initial ascending sort $Form1 = GUICreate("Form1", 800, 600, 192, 124) $ListView = GUICtrlCreateListView("", 10, 10, 780, 580);, -1, BitOR($LVS_EX_FULLROWSELECT, 0x00010000)) ;_GUICtrlListView_SetExtendedListViewStyle($ListView, BitOR($LVS_AUTOARRANGE, $LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER, $LVS_EX_SUBITEMIMAGES)) GUICtrlSetFont($ListView, 8, Default, Default, "Arial") GUICtrlSetResizing($ListView,1); 102 + 2) _GUICtrlListView_AddColumn($ListView, "Title", 400) _GUICtrlListView_AddColumn($ListView, "Country", 50) _GUICtrlListView_AddColumn($ListView, "Path", 320) read() GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $ListView EndSwitch WEnd Func read() Local $tot = 0 If FileExists($tini) Then $hImage2 = _GUIImageList_Create(48, 48, 5, 1) _GDIPlus_Startup() $aArrays = IniReadSectionNames($tini) If Not @error Then For $i = 1 To UBound($aArrays) - 1 $n = IniRead($tini, $aArrays[$i], "name", "") $z = IniRead($tini, $aArrays[$i], "ico", "") $r = IniRead($tini, $aArrays[$i], "region", "") ConsoleWrite($z&@CRLF) ;load icon and upscale the icon to 48x48 pixels $hBitmap2 = _GDIPlus_BitmapCreateFromFile($z) $hBitmap_scaled2 = _GDIPlus_ImageResize($hBitmap2, 48, 48) $hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_scaled2) _GDIPlus_BitmapDispose($hBitmap_scaled2) _GDIPlus_BitmapDispose($hBitmap2) $ico = _GUIImageList_Add($hImage2, $hBitmap_GDI) _GUICtrlListView_SetImageList($ListView, $hImage2, 1) _GUICtrlListView_AddItem($ListView, $n, $ico) _GUICtrlListView_AddSubItem($ListView, $i - 1, $r, 1) _GUICtrlListView_AddSubItem($ListView, $i - 1, $aArrays[$i], 2) $tot += 1 Next _GUICtrlListView_SimpleSort($ListView, $g_bSortSense, 0, False) _GDIPlus_Shutdown() EndIf EndIf EndFunc ;==>read Link to comment Share on other sites More sharing options...
rootx Posted May 11, 2017 Author Share Posted May 11, 2017 I can not understand why if I use icons, columns are not sorted correctly. Any suggestion.. THX expandcollapse popup#include <StructureConstants.au3> #include <ButtonConstants.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <GuiListView.au3> #include <GDIPlus.au3> #include <Array.au3> #include <GuiImageList.au3> #include <StaticConstants.au3> #include <IE.au3> #include <Misc.au3> #include <EditConstants.au3> #include <ListBoxConstants.au3> #include <GuiListBox.au3> #include <File.au3> #include <FileConstants.au3> #include <WinAPI.au3> #include <WinAPITheme.au3> #include <Color.au3> #include <ColorConstants.au3> #include <WinAPIConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Global $IEControl,$tini = @ScriptDir&"\test.ini" Global $ListView, $g_bSortSense = False $Form1 = GUICreate("Form1", 800, 600, 192, 124) $ListView = GUICtrlCreateListView("", 10, 10, 780, 580);, -1, BitOR($LVS_EX_FULLROWSELECT, 0x00010000)) ;_GUICtrlListView_SetExtendedListViewStyle($ListView, BitOR($LVS_AUTOARRANGE, $LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER, $LVS_EX_SUBITEMIMAGES)) GUICtrlSetFont($ListView, 8, Default, Default, "Arial") GUICtrlSetResizing($ListView,1); 102 + 2) _GUICtrlListView_AddColumn($ListView, "Icon", 70) _GUICtrlListView_AddColumn($ListView, "Name", 330) _GUICtrlListView_AddColumn($ListView, "Country", 50) _GUICtrlListView_AddColumn($ListView, "Path", 320) read() GUISetState(@SW_SHOW) GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $ListView EndSwitch WEnd Func read() Local $tot = 0 If FileExists($tini) Then $hImage2 = _GUIImageList_Create(48, 48, 5, 1) _GDIPlus_Startup() $aArrays = IniReadSectionNames($tini) If Not @error Then For $i = 1 To UBound($aArrays) - 1 $n = IniRead($tini, $aArrays[$i], "name", "") $z = IniRead($tini, $aArrays[$i], "ico", "") $r = IniRead($tini, $aArrays[$i], "region", "") ConsoleWrite($z&@CRLF) ;load icon and upscale the icon to 48x48 pixels $hBitmap2 = _GDIPlus_BitmapCreateFromFile($z) $hBitmap_scaled2 = _GDIPlus_ImageResize($hBitmap2, 48, 48) $hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_scaled2) _GDIPlus_BitmapDispose($hBitmap_scaled2) _GDIPlus_BitmapDispose($hBitmap2) $ico = _GUIImageList_Add($hImage2, $hBitmap_GDI) _GUICtrlListView_SetImageList($ListView, $hImage2, 1) _GUICtrlListView_AddItem($ListView, "", $ico) _GUICtrlListView_AddSubItem($ListView, $i - 1, $n, 1) _GUICtrlListView_AddSubItem($ListView, $i - 1, $r, 2) _GUICtrlListView_AddSubItem($ListView, $i - 1, $aArrays[$i], 3) $tot += 1 Next _GUICtrlListView_SimpleSort($ListView, $g_bSortSense, 1, False) _GDIPlus_Shutdown() EndIf EndIf EndFunc ;==>read Func _WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam Local $hWndListView = $ListView If Not IsHWnd($ListView) Then $hWndListView = GUICtrlGetHandle($ListView) Local $tNMHDR = DllStructCreate($tagNMLISTVIEW, $lParam) Local $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) Local $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView Switch $iCode Case $LVN_COLUMNCLICK ; A column was clicked _GUICtrlListView_SimpleSort($hWndListView, $g_bSortSense, DllStructGetData($tNMHDR, "SubItem")) ; Sort direction for next sort toggled by default EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>_WM_NOTIFY Link to comment Share on other sites More sharing options...
rootx Posted May 11, 2017 Author Share Posted May 11, 2017 Ok, I found I way to order the colums, But... How i can sort the listview before it is loaded??? Thx expandcollapse popup#include <StructureConstants.au3> #include <ButtonConstants.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <GuiListView.au3> #include <GDIPlus.au3> #include <Array.au3> #include <GuiImageList.au3> #include <StaticConstants.au3> #include <IE.au3> #include <Misc.au3> #include <EditConstants.au3> #include <ListBoxConstants.au3> #include <GuiListBox.au3> #include <File.au3> #include <FileConstants.au3> #include <WinAPI.au3> #include <WinAPITheme.au3> #include <Color.au3> #include <ColorConstants.au3> #include <WinAPIConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= Global $IEControl,$tini = @ScriptDir&"\test.ini" Global $ListView $Form1 = GUICreate("Form1", 800, 600, 192, 124) $ListView = GUICtrlCreateListView("", 10, 10, 780, 580, -1, BitOR($LVS_EX_FULLROWSELECT, 0x00010000)) _GUICtrlListView_SetExtendedListViewStyle($ListView, BitOR($LVS_AUTOARRANGE, $LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER, $LVS_EX_SUBITEMIMAGES)) GUICtrlSetFont($ListView, 8, Default, Default, "Arial") GUICtrlSetResizing($ListView,1); 102 + 2) _GUICtrlListView_AddColumn($ListView, "Icon", 70) _GUICtrlListView_AddColumn($ListView, "Name", 330) _GUICtrlListView_AddColumn($ListView, "Country", 50) _GUICtrlListView_AddColumn($ListView, "Path", 320) read() GUISetState(@SW_SHOW) _GUICtrlListView_RegisterSortCallBack($ListView) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $ListView _GUICtrlListView_SortItems($ListView, GUICtrlGetState($ListView)) EndSwitch WEnd _GUICtrlListView_RegisterSortCallBack($ListView) GUIDelete() Func read() Local $tot = 0 If FileExists($tini) Then $hImage2 = _GUIImageList_Create(48, 48, 5, 1) _GDIPlus_Startup() $aArrays = IniReadSectionNames($tini) If Not @error Then For $i = 1 To UBound($aArrays) - 1 $n = IniRead($tini, $aArrays[$i], "name", "") $z = IniRead($tini, $aArrays[$i], "ico", "") $r = IniRead($tini, $aArrays[$i], "region", "") ConsoleWrite($z&@CRLF) ;load icon and upscale the icon to 48x48 pixels $hBitmap2 = _GDIPlus_BitmapCreateFromFile($z) $hBitmap_scaled2 = _GDIPlus_ImageResize($hBitmap2, 48, 48) $hBitmap_GDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_scaled2) _GDIPlus_BitmapDispose($hBitmap_scaled2) _GDIPlus_BitmapDispose($hBitmap2) $ico = _GUIImageList_Add($hImage2, $hBitmap_GDI) _GUICtrlListView_SetImageList($ListView, $hImage2, 1) _GUICtrlListView_AddItem($ListView, "", $ico) _GUICtrlListView_AddSubItem($ListView, $i - 1, $n, 1) _GUICtrlListView_AddSubItem($ListView, $i - 1, $r, 2) _GUICtrlListView_AddSubItem($ListView, $i - 1, $aArrays[$i], 3) $tot += 1 Next _GDIPlus_Shutdown() EndIf EndIf EndFunc ;==>read Link to comment Share on other sites More sharing options...
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