Jump to content

Recommended Posts

Posted (edited)

#include <GUIConstants.au3>

Global Const $TV_FIRST = 0x1100
Global Const $TVM_GETBKCOLOR = ($TV_FIRST + 31)
Global Const $TVM_GETLINECOLOR = ($TV_FIRST + 41)
Global Const $TVM_GETTEXTCOLOR = ($TV_FIRST + 32)
Global Const $TVM_SETBKCOLOR = ($TV_FIRST + 29)
Global Const $TVM_SETLINECOLOR = ($TV_FIRST + 40)
Global Const $TVM_SETTEXTCOLOR = ($TV_FIRST + 30)

If Not IsDeclared('Turquoise') Then Dim $Turquoise = 0x40e0d0
If Not IsDeclared('Crimson') Then Dim $Crimson = 0xDC143C
If Not IsDeclared('White') Then Dim $White = 0xFFFFFF

GUICreate("My GUI with treeview",350,212)

$treeview = GUICtrlCreateTreeView (6,6,100,150,BitOr($TVS_HASBUTTONS,$TVS_HASLINES,$TVS_LINESATROOT,$TVS_DISABLEDRAGDROP,$TVS_SHOWSELALWAYS),$WS_EX_CLIENTEDGE)
$generalitem = GUICtrlCreateTreeViewitem ("General",$treeview)
$displayitem = GUICtrlCreateTreeViewitem ("Display",$treeview)
$aboutitem = GUICtrlCreateTreeViewitem ("About",$generalitem)
$compitem = GUICtrlCreateTreeViewitem ("Computer",$generalitem)
$useritem = GUICtrlCreateTreeViewitem ("User",$generalitem)
$resitem = GUICtrlCreateTreeViewitem ("Resolution",$displayitem)
$otheritem = GUICtrlCreateTreeViewitem ("Other",$displayitem)

$startlabel = GUICtrlCreateLabel ("TreeView Demo",190,90,100,20)
$aboutlabel = GUICtrlCreateLabel ("This little scripts demonstates the using of a treeview-control.",190,70,100,60)
GUICtrlSetState(-1,$GUI_HIDE)
$compinfo = GUICtrlCreateLabel ("Name:" & @TAB & @ComputerName & @LF & "OS:" & @TAB & @OSVersion & @LF & "SP:" & @TAB & @OSServicePack,120,30,200,80)
GUICtrlSetState(-1,$GUI_HIDE)

$okbutton = GUICtrlCreateButton ("OK",100,185,70,20)
$cancelbutton = GUICtrlCreateButton ("Cancel",180,185,70,20)

_GUICtrlTreeViewSetBkColor($treeview, $Turquoise)
_GUICtrlTreeViewSetTextColor($treeview, $Crimson)
_GUICtrlTreeViewSetLineColor($treeview, $White)


GUISetState ()
While 1
    $msg = GUIGetMsg()
    Select
        Case $msg = $cancelbutton Or $msg = $GUI_EVENT_CLOSE
            ExitLoop
    
        Case $msg = $generalitem
            GUIChangeItems($aboutlabel,$compinfo,$startlabel,$startlabel)
        
        Case $msg = $aboutitem
            GUICtrlSetState ($compinfo,$GUI_HIDE)
            GUIChangeItems($startlabel,$startlabel,$aboutlabel,$aboutlabel)
            
        Case $msg = $compitem
            GUIChangeItems($startlabel,$aboutlabel,$compinfo,$compinfo)
    EndSelect
WEnd

GUIDelete()
Exit

Func GUIChangeItems($hidestart,$hideend,$showstart,$showend)
    Local $idx,$hidestart,$hideend,$showstart,$showend
    
    For $idx = $hidestart To $hideend
        GUICtrlSetState ($idx,$GUI_HIDE)
    Next
    For $idx = $showstart To $showend
        GUICtrlSetState ($idx,$GUI_SHOW)
    Next    
EndFunc


Func _GUICtrlTreeViewGetBkColor($h_treeview)
    Return _TreeViewReverseColorOrder(GUICtrlSendMsg($h_treeview, $TVM_GETBKCOLOR, 0, 0))
EndFunc

Func _GUICtrlTreeViewGetLineColor($h_treeview)
    Return _TreeViewReverseColorOrder(GUICtrlSendMsg($h_treeview, $TVM_GETLINECOLOR, 0, 0))
EndFunc

Func _GUICtrlTreeViewGetTextColor($h_treeview)
    Return _TreeViewReverseColorOrder(GUICtrlSendMsg($h_treeview, $TVM_GETTEXTCOLOR, 0, 0))
EndFunc

Func _GUICtrlTreeViewSetBkColor($h_treeview, $v_RGBcolor)
    Return _TreeViewReverseColorOrder(GUICtrlSendMsg($h_treeview, $TVM_SETBKCOLOR, 0, Int(_TreeViewReverseColorOrder($v_RGBcolor))))
EndFunc

Func _GUICtrlTreeViewSetLineColor($h_treeview, $v_RGBcolor)
    Return _TreeViewReverseColorOrder(GUICtrlSendMsg($h_treeview, $TVM_SETLINECOLOR, 0, Int(_TreeViewReverseColorOrder($v_RGBcolor))))
EndFunc

Func _GUICtrlTreeViewSetTextColor($h_treeview, $v_RGBcolor)
    Return _TreeViewReverseColorOrder(GUICtrlSendMsg($h_treeview, $TVM_SETTEXTCOLOR, 0, Int(_TreeViewReverseColorOrder($v_RGBcolor))))
EndFunc
;===============================================================================
;
; Description:            _TreeViewReverseColorOrder
; Parameter(s):        $v_color - Hex Color
; Requirement:            None
; Return Value(s):    Return Hex RGB or BGR Color
; User CallTip:        _TreeViewReverseColorOrder($v_color) Convert Hex RGB or BGR Color to Hex RGB or BGR Color
; Author(s):            Gary Frost (custompcs@charter.net)
; Note(s):                Used for getting/setting view colors
;
;===============================================================================
Func _TreeViewReverseColorOrder($v_color)
    Dim $tc = Hex(String($v_color), 6)
    Return '0x' & StringMid($tc, 5, 2) & StringMid($tc, 3, 2) & StringMid($tc, 1, 2)
EndFunc  ;==>_TreeViewReverseColorOder

Edit: added line color

Edit: fixed

Edited by gafrost

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Posted

Im getting this error:

C:\Documents and Settings\joker\Skrivebord\Ny AutoIt v3 Script (4).au3 (81) : ==> Unknown function name.:

Return _TreeViewReverseColorOder(GUICtrlSendMsg($h_treeview, $TVM_SETLINECOLOR, 0, Int(_TreeViewReverseColorOder($v_RGBcolor))))

Return ^ ERROR

Posted

Im getting this error:

C:\Documents and Settings\joker\Skrivebord\Ny AutoIt v3 Script (4).au3 (81) : ==> Unknown function name.:

Return _TreeViewReverseColorOder(GUICtrlSendMsg($h_treeview, $TVM_SETLINECOLOR, 0, Int(_TreeViewReverseColorOder($v_RGBcolor))))

Return ^ ERROR

<{POST_SNAPBACK}>

Sorry, changed the name of the function, edited my previous post, it works now.

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...