Sign in to follow this  
Followers 0
James

InsideNI | INedisnI

21 posts in this topic

#1 ·  Posted (edited)

Hi,

A small project I have been working on since yesterday. This lets you view the sections, keys and values of a *.INI file.

I have yet to work on save function for this, if anyone has one ready or whatever, please post it :D

I think there may be a bug with the value of sections/keys/values it returns - Can't seem to fix it though.

;; InsideNI | InedisnI
;; James Brooks
;; With thanks to GeoSoft for support and a bit of code modification
;; Whoever wrote WM_NOTIFY and TreeView_RClick

#include <GuiConstantsEx.au3>
#include <GuiTreeView.au3>
#include <GuiMenu.au3>
#include <Array.au3>
#NoTrayIcon

Opt("MouseCoordMode", 2)

Global Const $WM_NOTIFY = 0x004E
Global Const $NM_FIRST = 0
Global Const $NM_RCLICK = $NM_FIRST - 5
Global $Ini = @ScriptDir & "\Inview.ini", $L_File = IniRead($Ini, "Settings", "LastFile", "")
Global Enum $idMenuDelete = 1000, $idMenuHighlight
Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)

$GUI = GUICreate("InsideNI | INedisnI", 341, 355, -1, -1)

$hTreeView = _GUICtrlTreeView_Create($GUI, 8, 8, 193, 337, $iStyle)
$Def = _GUICtrlTreeView_Add($hTreeView, 0, "No INI!")

GUICtrlCreateGroup("Stats", 208, 8, 129, 65)
$SectionCount = GUICtrlCreateLabel("Sections:", 216, 24, 112, 17)
$KeyCount = GUICtrlCreateLabel("Nodes:", 216, 48, 110, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)

GUICtrlCreateGroup("Control Panel", 208, 80, 129, 225)
$Open = GUICtrlCreateButton("Open INI", 216, 104, 113, 33, 0)
$Clear = GUICtrlCreateButton("Clear", 216, 144, 113, 33, 0)
$Save = GUICtrlCreateButton("Save", 216, 184, 113, 33, 0)
$Exit = GUICtrlCreateButton("Exit", 216, 224, 113, 33, 0)
$Progress = GUICtrlCreateProgress(216, 264, 113, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $Exit
            Exit
        Case $Open
            $iFile = FileOpenDialog("InsideNI | INedisnI", @ScriptDir, "INI (*.ini)", 3, $L_File)
            If Not @error Then
                If FileGetSize($iFile) / 1024 = 32 & @OSVersion = "WIN98" Then
                    MsgBox(0, "InsideNI | INedisnI", "INI size limitation has been met!")
                EndIf
                $L_File = $iFile
                IniWrite($Ini, "Settings", "LastFile", $iFile)
                OpenINI($iFile)
            Else
            ;
            EndIf
        Case $Clear
            _GUICtrlTreeView_DeleteAll($hTreeView)
        Case $Save
    EndSwitch
WEnd

Func OpenINI($sFile)
    FileCopy($sFile, $iFile & ".bak"); Backup file
    _GUICtrlTreeView_BeginUpdate($hTreeView)
    _GUICtrlTreeView_DeleteAll($hTreeView)
    Local $secItems[3999], $keyItems[3999]
    $sFileTrim = StringSplit($sFile, "\")
    $Sections = IniReadSectionNames($iFile)
    For $i = 1 To $Sections[0]
        $Key = IniReadSection($sFile, $Sections[$i])
        $secItems[$i] = _GUICtrlTreeView_Add($hTreeView, 0, $Sections[$i])
        For $j = 1 To $Key[0][0]
            $keyItems[$j] = _GUICtrlTreeView_AddChild($hTreeView, $secItems[$i], $Key[$j][0])
            _GUICtrlTreeView_AddChild($hTreeView, $keyItems[$j], $Key[$j][1])
        Next
        GUICtrlSetData($Progress, ($i / $Sections[0] * 100))
    Next
    _GUICtrlTreeView_EndUpdate($hTreeView)

    GUICtrlSetData($SectionCount, "Sections: " & _GUICtrlTreeView_GetSiblingCount($hTreeView, $Sections[0]))
    GUICtrlSetData($KeyCount, "Nodes: " & _GUICtrlTreeView_GetCount($hTreeView))
EndFunc  ;==>OpenINI

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $lParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndTreeview
    $hWndTreeview = $hTreeView
    If Not IsHWnd($hTreeView) Then $hWndTreeview = GUICtrlGetHandle($hTreeView)

    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")

    Switch $hWndFrom
        Case $hWndTreeview
            Switch $iCode
                Case $NM_RCLICK
                    TreeView_RClick()
                Case $TVN_BEGINLABELEDIT
                    Return False
                Case $TVN_ENDLABELEDIT
                    Local $tInfo = DllStructCreate($tagNMTVDISPINFO, $lParam)
                    Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", _
                            DllStructGetData($tInfo, "Text"))
                    If StringLen(DllStructGetData($tBuffer, "Text")) Then Return 1
            EndSwitch
    EndSwitch
EndFunc ;==>WM_NOTIFY

Func TreeView_RClick()
     Local $Hit, $MousePos, $hMenu

     $Hit = _GUICtrlTreeView_GetSelection($hTreeView)
     If ($Hit <> 0) Then
         $hMenu = _GUICtrlMenu_CreatePopup()
         _GUICtrlMenu_AddMenuItem($hMenu, "Delete", $idMenuDelete)
         $mHi = _GUICtrlMenu_AddMenuItem($hMenu, "Mark", $idMenuHighlight)
         If  _GUICtrlTreeView_GetBold($hTreeView, $Hit) Then _GUICtrlMenu_SetItemText($hMenu, $mHi, "Unmark")
         Switch _GUICtrlMenu_TrackPopupMenu($hMenu, $hTreeView, -1, -1, 1, 1, 2)
             Case $idMenuDelete
                 $mConf = MsgBox(0x4 + 0x40, "InsideNI | INedisnI", "Are you sure you wish to remove: " & _GUICtrlTreeView_GetText($hTreeView, $Hit) & "?")
                 If $mConf = 6 Then
                     _GUICtrlTreeView_Delete($hTreeView, $Hit)
                 EndIf
             Case $idMenuHighlight
                 If NOT _GUICtrlTreeView_GetBold($hTreeView, $Hit) Then
                    _GUICtrlTreeView_SetBold($hTreeView, $Hit)
                Else
                    _GUICtrlTreeView_SetIcon($hTreeView, $Hit, $Icons, False)
                 EndIf
         EndSwitch
         _GUICtrlMenu_DestroyMenu($hMenu)
     EndIf
EndFunc;==>TreeView_RClick

Thanks to Zedna for linking me to a topic about editable nodes (labels), whoever wrote WM_NOTIFY() and TreeView_RClick().

Updates:

New: Need to remember a certain value or key maybe a section name? Well right click and click "Highlight" to make it bold!

Fixed: As posted by me and confirmed by Geo, the last node to be generated is not given a + however it is still expandable, this is fixed thanks to Geo for the suggestion!

James

Edited by JamesB

Share this post


Link to post
Share on other sites



Hi,

A small project I have been working on since yesterday. This lets you view the sections, keys and values of a *.INI file.

I have yet to work on save function for this, if anyone has one ready or whatever, please post it :D

I think there may be a bug with the value of sections/keys/values it returns - Can't seem to fix it though.

#include <GuiConstants.au3>
#include <GuiTreeView.au3>
#include <GuiMenu.au3>

Opt("MouseCoordMode", 2)

Global Enum $idMenuDelete = 1000
Local $iStyle = BitOR($TVS_EDITLABELS, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS)

$GUI = GUICreate("InsideNI | INedisnI", 341, 355, -1, -1)

$hTreeView = _GUICtrlTreeView_Create($GUI, 8, 8, 193, 337, $iStyle)
$Def = _GUICtrlTreeView_Add($hTreeView, 0, "No INI!")

GUICtrlCreateGroup("Stats", 208, 8, 129, 65)
$SectionCount = GUICtrlCreateLabel("Sections:", 216, 24, 112, 17)
$KeyCount = GUICtrlCreateLabel("Keys:", 216, 48, 110, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)

GUICtrlCreateGroup("Control Panel", 208, 80, 129, 225)
$Open = GUICtrlCreateButton("Open INI", 216, 104, 113, 33, 0)
$Clear = GUICtrlCreateButton("Clear", 216, 144, 113, 33, 0)
$Save = GUICtrlCreateButton("Save", 216, 184, 113, 33, 0)
$Exit = GUICtrlCreateButton("Exit", 216, 224, 113, 33, 0)
$Progress = GUICtrlCreateProgress(216, 264, 113, 33)
GUICtrlCreateGroup("", -99, -99, 1, 1)

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

GUISetState()

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE, $Exit
            Exit
        Case $Open
            $iFile = FileOpenDialog("InsideNI | INedisnI", @ScriptDir, "INI (*.ini)")
            If Not @error Then
                If FileGetSize($iFile) / 1024 = 32 & @OSVersion = "WIN98" Then
                    MsgBox(0, "InsideNI | INedisnI", "INI size limitation has been met!")
                EndIf
                OpenINI($iFile)
            Else
              ;
            EndIf
        Case $Clear
            _GUICtrlTreeView_DeleteAll($hTreeView)
    EndSwitch
WEnd

Func OpenINI($sFile)
    _GUICtrlTreeView_DeleteAll($hTreeView)
    Local $secItems[32767], $keyItems[32767]
    $sFileTrim = StringSplit($sFile, "\")
    $sFileTrimGet = $sFileTrim[0]
    $Def = _GUICtrlTreeView_Add($hTreeView, 0, $sFileTrim[$sFileTrimGet])
    $Sections = IniReadSectionNames($iFile)
    For $i = 1 To $Sections[0]
        $Key = IniReadSection($sFile, $Sections[$i])
        $secItems[$i] = _GUICtrlTreeView_Add($hTreeView, 0, $Sections[$i])
        For $j = 1 To $Key[0][0]
            $keyItems[$j] = _GUICtrlTreeView_AddChild($hTreeView, $secItems[$i], $Key[$j][0])
            _GUICtrlTreeView_AddChild($hTreeView, $keyItems[$j], $Key[$j][1])
        Next
        GUICtrlSetData($Progress, ($i / $Sections[0] * 100))
    Next
    GUICtrlSetData($SectionCount, "Sections: " & _GUICtrlTreeView_GetSiblingCount($hTreeView, $Sections[0]))
    GUICtrlSetData($KeyCount, "Key: " & _GUICtrlTreeView_GetCount($hTreeView))
EndFunc ;==>OpenINI

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $lParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndTreeview
    $hWndTreeview = $hTreeView
    If Not IsHWnd($hTreeView) Then $hWndTreeview = GUICtrlGetHandle($hTreeView)

    $tNMHDR = DllStructCreate($tagNMHDR, $lParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")

    Switch $hWndFrom
        Case $hWndTreeview
            Switch $iCode
                Case $NM_RCLICK
                    TreeView_RClick()
                Case $TVN_BEGINLABELEDIT
                    Return False
                Case $TVN_ENDLABELEDIT
                    Local $tInfo = DllStructCreate($tagNMTVDISPINFO, $lParam)
                    Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", _
                            DllStructGetData($tInfo, "Text"))
                    If StringLen(DllStructGetData($tBuffer, "Text")) Then Return 1
            EndSwitch
    EndSwitch
EndFunc ;==>WM_NOTIFY

Func TreeView_RClick()
    Local $Hit, $MousePos, $hMenu

    $MousePos = MouseGetPos()
    $Hit = _GUICtrlTreeView_HitTestItem($hTreeView, $MousePos[0], $MousePos[1])
    If ($Hit <> 0) Then

        $hMenu = _GUICtrlMenu_CreatePopup()
        _GUICtrlMenu_AddMenuItem($hMenu, "Delete", $idMenuDelete)

        Switch _GUICtrlMenu_TrackPopupMenu($hMenu, $hTreeView, -1, -1, 1, 1, 2)
            Case $idMenuDelete
                $mConf = MsgBox(0x4 + 0x40, "InsideNI | INedisnI", "Are you sure you wish to remove:" & _GUICtrlTreeView_GetText($hTreeView, $Hit) & "?")
                If $mConf = 6 Then
                    _GUICtrlTreeView_Delete($hTreeView, $Hit)
                EndIf
        EndSwitch
        _GUICtrlMenu_DestroyMenu($hMenu)
    EndIf
EndFunc ;==>TreeView_RClick

Thanks to Zedna for linking me to a topic about editable nodes (labels), whoever wrote WM_NOTIFY() and TreeView_RClick().

James

Looks Good James.

Take a look at my website (in my sig) Click Code >> My Extra UDFs >> Ini and I think you may find a couple of funcs that you would be interested in.


George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Looks Good James.

Take a look at my website (in my sig) Click Code >> My Extra UDFs >> Ini and I think you may find a couple of funcs that you would be interested in.

Thanks Geo! I will take a look now, hope they help :D

I can't wait to get the save working!

Edit: Wow, they look like they could be useful!, by the way, your about page isn't being styled :D

Edited by JamesB

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Thanks Geo! I will take a look now, hope they help :D

I can't wait to get the save working!

Edit: Wow, they look like they could be useful!, by the way, your about page isn't being styled :D

Thanks. I probably broke the link to the style sheet. I'll look at it now.

Hmmmmm.

It's being styled for me and the file links are fine. Maybe go back and refresh your page. See what happens.

Edited by GEOSoft

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

It's OK :D

Here is what I think is the process the function would have to go through to re-save the file:

Confirm user wants to re-save file.

Copy the file to a temporary place

Find the number of sections and compare them to the previous file.

If there is a less amount of sections find which one(s) do not exist anymore and remove it.

Compare all keys to the previous file

Any less then remove the key and value

Compare all values to the previous file

If a value doesn't exist then delete it from the key

Save new copy

Delete temporary copy.

Does anyone think that would work like that?

George, I tried that and refreshing my cache. I fixed it by using Firefox web developer and attaching your stylesheet to it :D

Edited by JamesB

Share this post


Link to post
Share on other sites

Just an FYI;

In order for this to work with the newer versions you have to change the #Include section.

#include <GuiConstantsEx.au3>
#include <GuiTreeView.au3>
#include <GuiMenu.au3>
#include <WindowsConstants.au3>
#Include <StaticConstants.au3>

I'm looking at the save now but I also have a couple of ideas that I will PM to you later.


George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

Just an FYI;

In order for this to work with the newer versions you have to change the #Include section.

#include <GuiConstantsEx.au3>
 #include <GuiTreeView.au3>
 #include <GuiMenu.au3>
 #include <WindowsConstants.au3>
 #Include <StaticConstants.au3>

I'm looking at the save now but I also have a couple of ideas that I will PM to you later.

Thanks George!

Cool, any ideas, critque and such are all welcome :D

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

Is it just me or does anyone else have a problem with the treeview? The first INI generated node/label has the + sign next to it, the second one however does not, when clicked it does expand though.

Any ideas?

Edit: So I have only been testing this with an INI file with two sections. I tried it with three and four, the problem seems to be that the last node/label does not receive the + next to it.

Edited by JamesB

Share this post


Link to post
Share on other sites

Is it just me or does anyone else have a problem with the treeview? The first INI generated node/label has the + sign next to it, the second one however does not, when clicked it does expand though.

Any ideas?

Edit: So I have only been testing this with an INI file with two sections. I tried it with three and four, the problem seems to be that the last node/label does not receive the + next to it.

I've noticed that before. It's okay once it has been clicked. I don't know if it might help to create one extra item and then delete it or not.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

I've noticed that before. It's okay once it has been clicked. I don't know if it might help to create one extra item and then delete it or not.

I could try that now :D Give me a break from the save function hehe.

Wow, it works :D

Here is the new OpenINI() function.

Func OpenINI($sFile)
    _GUICtrlTreeView_DeleteAll($hTreeView)
    Local $secItems[3999], $keyItems[3999]
    $sFileTrim = StringSplit($sFile, "\")
    $sFileTrimGet = $sFileTrim[0]
    $Def = _GUICtrlTreeView_Add($hTreeView, 0, $sFileTrim[$sFileTrimGet])
    $Sections = IniReadSectionNames($iFile)
    For $i = 1 To $Sections[0]
        $Key = IniReadSection($sFile, $Sections[$i])
        $secItems[$i] = _GUICtrlTreeView_Add($hTreeView, 0, $Sections[$i])
        For $j = 1 To $Key[0][0]
            $keyItems[$j] = _GUICtrlTreeView_AddChild($hTreeView, $secItems[$i], $Key[$j][0])
            _GUICtrlTreeView_AddChild($hTreeView, $keyItems[$j], $Key[$j][1])
        Next
        GUICtrlSetData($Progress, ($i / $Sections[0] * 100))
    Next
    
; Create an extra node as the + is not shown then delete it
    $tempTree = _GUICtrlTreeView_AddChild($hTreeView, 0, "")
    _GUICtrlTreeView_Delete($hTreeView, $tempTree)
    
    GUICtrlSetData($SectionCount, "Sections: " & _GUICtrlTreeView_GetSiblingCount($hTreeView, $Sections[0]))
    GUICtrlSetData($KeyCount, "Key: " & _GUICtrlTreeView_GetCount($hTreeView))
EndFunc  ;==>OpenINI
Edited by JamesB

Share this post


Link to post
Share on other sites

Updates:

New: Highlight function - right click --> bold!

Fixed: + expanding icon

Check first post for script :D

Highlight might be usefull at some point but I just changed it. Incoming PM

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

#15 ·  Posted (edited)

Always make use of _GUICtrlTreeView_BeginUpdate/_GUICtrlTreeView_EndUpdate before/after building the treeview when GUI is already visible.

This will fix the redraw glitch for the last expandable item without the need to add/delete a dummy. And also improve the speed for large trees significantly, because it won't be redrawed after adding each item. And large INIs is about the only field where this tool has a hope to be competitive with plain old notepad imo... :D

Edited by Siao

"be smart, drink your wine"

Share this post


Link to post
Share on other sites

Always make use of _GUICtrlTreeView_BeginUpdate/_GUICtrlTreeView_EndUpdate before/after building the treeview when GUI is already visible.

Will do, I looked at it at one point, but I shall add it in if it will help fix any problems and improve speed!

And large INIs is about the only field where this tool has a hope to be competitive with plain old notepad imo... :D

The idea behind it is to be able to see the structure of the INI in a way graphically, indents in the tree for a value/key etc...

When I have finished then it will be much more useful, you will be able to edit any part of the INI, section name, key name and the value. You will be able to add in a section, remove a section, remove a key or value. Just need to get the save function working :D

George, your PM was great! I like what you have done!

James

Share this post


Link to post
Share on other sites

Updates:

Fixed: Right click menu now displays "Unhighlight" if it is already bold. - Thanks Geo!

Fixed: Node + symbol is shown without having to create a blank label.

Fixed: Spacing between dialog and section/key/value name on MsgBox().

Updated: FileOpenDialog will now show the last file opened. - Thanks Geo!

Updated: TreeView_RClick() - Thanks Geo!

Requires beta, however removing:

Global Const $WM_NOTIFY = 0x004E
Global Const $NM_FIRST = 0
Global Const $NM_RCLICK = $NM_FIRST - 5

Will let you run normally!

Thanks to GeoSoft for modifications and Siao for pointing out _GUICtrlTreeView_Begin(End)Update() to fix + sign.

Check first post for new code!

Share this post


Link to post
Share on other sites

Updates:

Fixed: Right click menu now displays "Unhighlight" if it is already bold. - Thanks Geo!

Fixed: Node + symbol is shown without having to create a blank label.

Fixed: Spacing between dialog and section/key/value name on MsgBox().

Updated: FileOpenDialog will now show the last file opened. - Thanks Geo!

Updated: TreeView_RClick() - Thanks Geo!

Requires beta, however removing:

Global Const $WM_NOTIFY = 0x004E
Global Const $NM_FIRST = 0
Global Const $NM_RCLICK = $NM_FIRST - 5

Will let you run normally!

Thanks to GeoSoft for modifications and Siao for pointing out _GUICtrlTreeView_Begin(End)Update() to fix + sign.

Check first post for new code!

Glad to help. You might want to remove the rest of the comments that I put in so you could see the changes though.

";;<<=== Changed this line" won't mean much to people who have not seen the old lines.


George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Share this post


Link to post
Share on other sites

Glad to help. You might want to remove the rest of the comments that I put in so you could see the changes though.

";;<<=== Changed this line" won't mean much to people who have not seen the old lines.

Oopsy! I started to remove them just got side tracked :D

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0