LarsJ Posted May 22, 2016 Author Share Posted May 22, 2016 I've updated the zip file in bottom of first post to fix the error about the default font as described in posts 19 and 20. A note about fonts: To define a font for an item or a subitem you use the functions ListViewColorsFonts_SetItemFonts (fonts only) or ListViewColorsFonts_SetItemColorsFonts (colors and fonts). The font name and the font style are parameters in the functions. Instead of a font name you can use a font handle (pointer) as parameter. Leave the font style as the default value (0). In this way you can control many more characteristics of the font. Eg. the width and height of the font to make it fit into the listview cell. See "Examples\7) Original examples\lvCustDrawFonts.au3" for an example. Like in the example about editing listview cells it's also the plan that this UDF should support colors and fonts in virtual listviews. And I actually think that it already does, but it's not tested. I'll add some examples in next version. Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
Gianni Posted July 27, 2016 Share Posted July 27, 2016 (edited) On domenica 20 marzo 2016 at 10:23 AM, LarsJ said: <zot> ... Comments are welcome. Let me know if there are any issues. ... <zot> Hi, ... about setting style of items: I see you can set style by setting the $iFontStyle in function calls as following: ; $iFontStyle - Text style of item or subitem ; Use the following values for $iFontStyle ; 0: Normal text style (default) ; 1: Bold text style ; 2: Italic text style ; 3: Underline text style ; These predefined constants can also be used: ; $iFontStyleNormal, $iFontStyleBold, $iFontStyleItalic, $iFontStyleUnderline ; If $sFontName is a font handle $iFontStyle is ignored If allowed I would propose this: Instead of using values 1 or 2 or 3 for bold or italic or underline respectively, It could be used 1, 2 , 4 (bit values) allowing in this way the use of more styles for a single item just summing values together, so, for example bold AND underline become 5 (that is 1 + 4) with a quick test, I've seen that it works by just changing this part in the UDF Switch $iFontStyle Case 0 ; Normal Case 1 ; Bold DllStructSetData( $tLogFont, "Weight", BitOR( $iWeight, $FW_BOLD ) ) Case 2 ; Italic DllStructSetData( $tLogFont, "Italic", True ) Case 3 ; Underline DllStructSetData( $tLogFont, "Underline", True ) Case Else If $sFontName Then DllStructSetData( $tLogFont, "FaceName", $sFaceName ) ; Reset $tLogFont on error Return SetError(5, 0, -1) ; Invalid font style EndSwitch with something like this for example: If BitAND($iFontStyle,1) Then DllStructSetData( $tLogFont, "Weight", BitOR( $iWeight, $FW_BOLD ) ) ; Bold If BitAND($iFontStyle,2) Then DllStructSetData( $tLogFont, "Italic", True ) ; Italic If BitAND($iFontStyle,4) Then DllStructSetData( $tLogFont, "Underline", True ) ; Underline if instead I have misunderstood how to use styles, then just forget all of what i've said above... Thanks Edited July 27, 2016 by Chimp mLipok 1 Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
LarsJ Posted July 27, 2016 Author Share Posted July 27, 2016 Excellent suggestion. Why didn't I think at that myself? I'll add the code. Gianni and mLipok 2 Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
mLipok Posted July 28, 2016 Share Posted July 28, 2016 @Chimp What means <zot> ? Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
mLipok Posted July 28, 2016 Share Posted July 28, 2016 (edited) 10 hours ago, LarsJ said: Excellent suggestion. Why didn't I think at that myself? The learning process never ends (of course, in most cases) Unfortunately, in recent times I have not had time to read your manulas/textbooks ... I mean scripts. mLipok Edited July 28, 2016 by mLipok Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
Gianni Posted July 28, 2016 Share Posted July 28, 2016 12 hours ago, mLipok said: @Chimp What means <zot> ? isn't it used when you want to mark that in that point a part of the original message has been removed?.... or maybe it's <snip>... ??? Spoiler argumentum and mLipok 2 Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
mLipok Posted July 28, 2016 Share Posted July 28, 2016 DR .... ZOT WHO Signature beginning:* Please remember: "AutoIt"..... * Wondering who uses AutoIt and what it can be used for ? * Forum Rules ** ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Code * for other useful stuff click the following button: Spoiler Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST API * ErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 * My contribution to others projects or UDF based on others projects: * _sql.au3 UDF * POP3.au3 UDF * RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF * SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane * Useful links: * Forum Rules * Forum etiquette * Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * Wiki: * Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX IE Related: * How to use IE.au3 UDF with AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler * IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related: * How to get reference to PDF object embeded in IE * IE on Windows 11 * I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions * EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *I also encourage you to check awesome @trancexx code: * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuff * OnHungApp handler * Avoid "AutoIt Error" message box in unknown errors * HTML editor * winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/ "Homo sum; humani nil a me alienum puto" - Publius Terentius Afer"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming" , be and \\//_. Anticipating Errors : "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty." Signature last update: 2023-04-24 Link to comment Share on other sites More sharing options...
Anas Posted March 12, 2018 Share Posted March 12, 2018 Hi, I've a couple of issues with the UDF: - When I add 256 for the colors parameter (colors of selected Items without focus), the selected items lose the column alignment. - Applying a font for a subitem changes the font for the following subitems as well, even though the font was not applied to them. Also, is there anything I can do to improve the performance of this example? Thanks. expandcollapse popup#include <GUIConstantsEx.au3> #include <ColorConstants.au3> #include <ListViewColorsFonts.au3> Global $Rows = 500, $Items[$Rows][15] Test(1) Func Test($ApplyColorsFonts = 1) $Cols = '' For $i = 1 To 15 $Cols &= 'Column ' & $i & '|' Next CreateItems() GUICreate("Test", 1600, 750) GUISetFont(8, 400, 0, 'MS Sans Serif') $LV = GUICtrlCreateListView($Cols, 0, 0, 1600, 750, Default, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER, $LVS_EX_HEADERDRAGDROP)) _GUICtrlListView_AddArray($LV, $Items) For $i = 0 To 14 _GUICtrlListView_JustifyColumn($LV, $i, 2) _GUICtrlListView_SetColumnWidth($LV, $i, $LVSCW_AUTOSIZE_USEHEADER) Next If $ApplyColorsFonts Then $Color_Selected = 0x3399FF If $ApplyColorsFonts = 2 Then $hFont = _WinAPI_CreateFont(6, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial') ListViewColorsFonts_Init($LV, 7 + 128 + 256, $Rows, False) Else ListViewColorsFonts_Init($LV, 1 + 2 + 128 + 256, $Rows, False) EndIf For $i = 0 To $Rows - 1 ListViewColorsFonts_SetItemColors($LV, $i, -1, 0, 0, 0, 0, $Color_Selected, $Color_White) ListViewColorsFonts_SetItemColors($LV, $i, 0, $Color_White, $Color_Red, 0, 0, $Color_Selected, $Color_White) If $ApplyColorsFonts = 2 Then ListViewColorsFonts_SetItemColorsFonts($LV, $i, 2, $hFont, 0, $Color_Gray, $Color_White, $Color_Gray, $Color_White, $Color_Selected, $Color_White) Else ListViewColorsFonts_SetItemColors($LV, $i, 2, $Color_Gray, $Color_White, $Color_Gray, $Color_White, $Color_Selected, $Color_White) EndIf ListViewColorsFonts_SetItemColors($LV, $i, 4, $Color_White, $Color_Blue, 0, 0, $Color_Selected, $Color_White) ListViewColorsFonts_SetItemColors($LV, $i, 6, $Color_Red, $Color_White, $Color_Red, $Color_White, $Color_Red, $Color_White) ListViewColorsFonts_SetItemColors($LV, $i, 8, $Color_Green, $Color_White, $Color_Green, $Color_White, $Color_Selected, $Color_White) ListViewColorsFonts_SetItemColors($LV, $i, 10, $Color_White, $Color_Purple, 0, 0, $Color_Selected, $Color_White) ListViewColorsFonts_SetItemColors($LV, $i, 12, $Color_Blue, $Color_White, $Color_Blue, $Color_White, $Color_Selected, $Color_White) Next ListViewColorsFonts_Redraw($LV) EndIf GUISetState() While GUIGetMsg() <> $GUI_EVENT_CLOSE WEnd EndFunc Func CreateItems() For $i = 0 To $Rows - 1 For $y = 0 To 14 $Items[$i][$y] = RandomText() Next Next EndFunc Func RandomText($Min = 10, $Max = 30, $StartChr = 97, $EndChr = 122) Local $RES For $i = 1 To Random($Min, $Max, 1) $RES &= Chr(Random($StartChr, $EndChr, 1)) Next Return $RES EndFunc Link to comment Share on other sites More sharing options...
LarsJ Posted March 12, 2018 Author Share Posted March 12, 2018 Anas, I'm working on a complete new version of this UDF, but it'll not be soon. This means that there'll be no more updates of existing code. The problem in your first point is that the functionality is not supported. All functionality is demonstrated in examples. If you use functionality that's not demonstrated, it'll probably not work. The second point seems to be a bug. As I said, I do not want to do anything about it. Sorry. The main reason for the performance issues in your last point is the number of columns. You have 15 columns but only half are visible. But all 15 columns will be updated, eg. when you are scrolling. Half of the columns are thus updated to no avail because they are not visible. That's the problem. Create 2 listviews in 2 tabs. It'll provide much better performance. When you want to run as much code, there should be no horizontal scrollbar. I've taken advantage of the opportunity to update the images in first post (new links). Earthshine 1 Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
LarsJ Posted March 12, 2018 Author Share Posted March 12, 2018 Thank you Mr. Earthshine. Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
Bitnugger Posted November 20, 2018 Share Posted November 20, 2018 Hello LarsJ, if I make the width of the columns greater than 109 in this demo, the header in the last column is no longer completely colored. The larger the column width, the more columns in the header are no longer properly colored. expandcollapse popup;-- TIME_STAMP 2018-11-20 22:46:23 #Region ;************ Includes ************ ;~ #Include <WindowsConstants.au3> ;~ #Include <GuiListView.au3> #include <GUIConstantsEx.au3> #include "..\..\..\UDFs\ListViewColorsFonts.au3" ;~ #include "..\..\..\UDFs\GuiListViewEx.au3" #EndRegion ;************ Includes ************ ; @ScriptFullPath = 'F:\_Archive\_Programmieren\AutoIt3\UDFs\ListViewColorsFonts\Examples\0) UDF examples\7) ListViewColorsFonts_Redraw\_GUICtrlListView_AddArray.au3' _GUICtrlListView_AddArray_Demo() Func _GUICtrlListView_AddArray_Demo() #Region - GUI Create Local $hGUI = GUICreate('GUICtrlCreateListView', 400, 300, 400, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_WINDOWEDGE) Local $idLV = GUICtrlCreateListView('Name|Status1|Status2|Status3|Status4|Status5|Status6|Status7|Status8|Status9|Status10|Status11|Status12|Status13|Status14|Status15|Status16|Status17|Status18|Status19|Status20|Status21|Status22|Status23|Status24|Status25|Status26|Status27|Status28|Status29|Status30|Status31', 2, 2, 396, 296) GUISetState(@SW_MAXIMIZE) #EndRegion Local $aLV[16][32], $sAdd For $i = 0 To UBound($aLV) -1 Step 1 $aLV[$i][0] = 'Name' & $i + 1 For $j = 1 To UBound($aLV, 2) -1 Step 1 $aLV[$i][$j] = 'Status' & $j Next Next Local $iAllColSize = 0, $iWidth = 150 Local $aWJLV = [[$iWidth, 0], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2], [$iWidth, 2]] For $i = 0 To UBound($aWJLV) -1 Step 1 $iAllColSize += $aWJLV[$i][0] _GUICtrlListView_SetColumnWidth($idLV, $i, $aWJLV[$i][0]) _GUICtrlListView_JustifyColumn($idLV, $i, $aWJLV[$i][1]) ; 0 left, 1 right, 2 center Next ConsoleWrite('> $iAllColSize = ' & $iAllColSize & @CRLF) ;~ $iWidth = 109, $iAllColSize = 3597 --> OK ;~ $iWidth = 110, $iAllColSize = 3630 --> BAD HEADER COLOR (Status 31) ;~ $iWidth = 150, $iAllColSize = 4950 --> BAD HEADER COLOR (Status 23 to Status 31) _GUICtrlListView_AddArray($idLV, $aLV) ; Perform initializations to add colors/fonts to single items/subitems ListViewColorsFonts_Init( $idLV, 7 ) ; $fColorsFonts = 7, ( $iAddRows = 100, $bNative = False ) ; Set a green back color for all odd entire items and a yellow back color for all even entire items Local $iItemCount = _GUICtrlListView_GetItemCount($idLV) For $i = 0 To $iItemCount -1 Step 1 ListViewColorsFonts_SetItemColors( $idLV, $i, -1, Mod($i, 2) ? 0xCCFFCC : 0xFFFFCC) ; Green or Yellow back color for entire item Next ; Force an update of local variables in drawing function ListViewColorsFonts_Redraw( $idLV ) #Region - GUI SwitchLoop While True Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd #EndRegion EndFunc ;==>_GUICtrlListView_AddArray_Demo Link to comment Share on other sites More sharing options...
LarsJ Posted November 21, 2018 Author Share Posted November 21, 2018 Hello Bitnugger. I've run your script as 64 bit code on Windows 7 and Windows 10. I don't see the issue with the header as shown in the picture. But both of my PCs run with standard graphical settings. I haven't changed anything since the installation. From the picture it appears that you are using a graphic theme or the like. And that may well be the cause of the problem. If you have the possibility to test the script on a PC with default graphics setup, you'll probably not see the issue. I think the problem is related to your graphical settings. And so, I do not think I can do anything about it. Sorry. Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions Link to comment Share on other sites More sharing options...
Bitnugger Posted November 21, 2018 Share Posted November 21, 2018 2 hours ago, LarsJ said: I think the problem is related to your graphical settings. Right, I just tested it - it's the theme! With the default theme it works fine! Thanks for the testing and the quick feedback! Link to comment Share on other sites More sharing options...
Mbee Posted July 15, 2019 Share Posted July 15, 2019 (edited) Hi, LarsJ - Great stuff! Thanks! Would you kindly elaborate on the difference between "native" and "UDF / Non-native" list views? I'm unclear on how to set the $bNative parameter in the ListViewColorsFonts_Init() call. I wanted to use the list view's control ID elsewhere in the code, so I set it True. But then the Init call always failed (I don't know why). If I specify False, the call succeeds. The failed @error value is 1, invalid list view. Thank you for your hard work and time! Edited July 16, 2019 by Mbee Revised issue 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