English
Forum

Need help Treeview Control

 
Hello Profaner...

have unfortunately none blassen Schimmer of Treeviews and need time urgently Help:
it's about one Treeview with of/ one variables amount of Einträgen (a great many Entries evtl.).
I must now know:
- whom Text the Eintrags, the in the moment markiert is.
- How many Entries under this entry stand.
- The Texts all each übergeordneten Entries.
- whether The untergeordneten Entries in the moment visible (aufgeklappt) are, or not.

can me there someone help?
 
06/02/05  
 



... i want quasi The gesammte Registry in a Treeview present and from it a entry select can...
has someone already time such a thing made? ideas??
 
06/02/05  
 




Frank
Abbing
Hi,

I Have a Treeview.dll made. so ought to the simply To make his, still are Registry-Entries too only Paths. In Kürze results my List view.dll-Update with the it The Treeview.dll as free Addon gives. If you not Waiting can, mail I tappt im dunkeln you too.
want You it without Dll make and not The Profanfunktion take, then plenty joke.....
 
06/02/05  
 



Hello Frank...

Have already on you hoped. would be class, if with the your DLL weg would! have you got once more The Downloadadresse?
 
06/02/05  
 



is The DLL Freeware?
 
06/02/05  
 




Frank
Abbing
Hi,

The Dll is unfortunately only Freeware, if You The List view.dll already registered have. But complete testbar, if you the Hinweisfenster not disturbing. I schick you The Dll.
 
06/02/05  
 



BESTEN Thanks...

be tensely, how far I so come.
 
06/02/05  
 



If one first once The Messages knows sees too the Selbsterstellen not any more so difficult from. After TVM_GETITEM have I sought.
 
06/03/05  
 




Frank
Abbing
Hi,

Yes, there's some nice Messages, everybody can well use can. one must itself but einarbeiten and some Messages shine I do not hundred prozentig How described To functions.

want You something like make How whom Registrierungs-editor regedit?
where find I The Registyeinträge once more in the system?
 
06/03/05  
 



[quote:16ex0c36a7=Frank Abbing]
want You something like make How whom Registrierungs-editor regedit?
[/quote:16ex0c36a7]
Yes, in the manner. only I will no Entries, separate Zugriffsrechte edit.

[quote:16ex0c36a7=Frank Abbing]
where find I The Registyeinträge once more in the system?
[/quote:16ex0c36a7]
If I very know would what You so mean, would I you the gladly betray - presupposed I wüßte The response hereon...
Vergiß not - i'm utterly no expert.
 
06/03/05  
 




Jörg
Sellmeyer
The Registry becomes at least under Win95 - 98 in system.dat and user.dat in the Windows directory stored.
meaningfully might but sooner the read through Api his and not the direct Access to The Files.
Uwe Pascal Niemeyer has faith I one par nice Vorlagen moreover, How one whole Registry-sprigs in a Slip read can.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06/03/05  
 



If only therefore goes - i think time therefore GEHTS but not...
circa Jörg time To complement:
The Registry exists from individual Hives, The with want hinzugeladen go. under NT standing to that example the Registryabschnitt each individual Users into NTUSER.DAT Files in the Profilverzeichnis the betreffenden Users.
a right way for The Registry there means really none.
here time my Anfänge to the Topic - is, How said, my erstes Treeview:
CompileMarkSeparation
DEF @GetModuleHandle(1) !"KERNEL32","GetModuleHandleA"
DEF @LoadIcon(2) ! "USER32","LoadIconA"
DEF @LoadBitmap(2) ! "USER32","LoadBitmapA"
DEF @ImageList_Create(5) !"COMCTL32","ImageList_Create"
DEF @ImageList_AddIcon(2) !"COMCTL32","ImageList_AddIcon"
DEF @ImageList_Destroy(1) !"COMCTL32","ImageList_Destroy"
DEF @SetWindowLong(3) !"USER32","SetWindowLongA"
Def @InitCommonControls(0) !"COMCTL32","InitCommonControls"
Def RegOpenKeyEx(5) !"ADVAPI32","RegOpenKeyExA"
Def RegEnumKey(4) !"ADVAPI32","RegEnumKeyA"
Def RegCloseKey(1) !"ADVAPI32","RegCloseKey"
@InitCommonControls()
Declare hImageList&,hIcon&,Iconname#,Executehandle&,Root1&,ROOT&[2,3,10],ROOT11&
Declare Imagelist&,HIcon#,TV_INSERT#,TV_TEXT#,TV_ITEM#,REG_KEY$,REG_ROOT$,REG_ERGEBNIS$
Declare Unterlage6&,TV_ITEM_HANDLE&,TV_ITEM_HANDLE2&
Declare REG_ERGEBNIS#,REG_ERROR&,REG_HANDLE&
Declare REG_Zähler%,TV_ITEM_HANDLE1&
dim Iconname#,25
dim Hicon#,24
Dim TV_TEXT#,261
DIM REG_ERGEBNIS#,261
Declare TreeView&
DIM TV_INSERT#,48
DIM TV_ITEM#,40
Let Imagelist&=ImageList_Create(16,16,$0001,3,3) Imagelist erzeugen
Let ExecuteHandle&=GetModuleHandle(0)  Handle des laufenden Programms
Icon 0
String Iconname#,0="Weg"       Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 1
String Iconname#,0="Windows"            Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 2
String Iconname#,0="Stein"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 3
String Iconname#,0="Drucker"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 4
String Iconname#,0="Wasser"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 5
String Iconname#,0="Weg"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 6
String Iconname#,0="Baum"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Icon 7
String Iconname#,0="Editor"
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)

PROC TVINSERT

    TVINSERT und TVINSERT-Struktur-------------------------------
    String TV_TEXT#,0=@$(4)      Der Text im Label
    long TV_INSERT#,0=@&(1)          TVins-Parent
    long TV_INSERT#,4=@&(2)         TVins-Insert After
    long TV_INSERT#,8=$0027          mask IF_TEXT,IF_IMAGE,If_SelectedImage
    long TV_INSERT#,8=$0001+$0002+ $0020+ $0004 +$0008 +$0010
    long TV_INSERT#,12=0            Htreeitem
    long TV_INSERT#,16=@&(5)          State
    long TV_INSERT#,20=$0001+$0002+$0004+$0008+$0010+$0020+$0040+$0080+$0F00+$F000 StateMAsk
    long TV_INSERT#,24=TV_TEXT#   Adress of Label
    long TV_INSERT#,28=len(@$(4))   len of Label(länge GeDimt in Tvitemtext#)
    long TV_INSERT#,32=@&(2)         Image          z.B Ordner
    long TV_INSERT#,36=@&(3)         Selected Image z.B geöffneter Ordner
    long TV_INSERT#,40=0             cChildren
    long TV_INSERT#,44=@&(6)          Lparam
    -----------------------------------------------

ENDPROC

Windowstyle 31+512
Window 10,50-600,420
Windowtitle "TreeViewControl32"
settruecolor 1
cls rgb(192,192,192)
LET UNTERLAGE6&=@Control("Dialog","",$40000000+$10000000,10,50,600,320,%HWND,3,%HINSTANCE)
Let TreeView&=@control("SysTreeView32","",$40000000+$10000000+$800000+$200000+$0002+$0010+$0020,40,20,250,300,Unterlage6&,200,%Hinstance)
@sendmessage(TreeView&,$1109,0,Imagelist&) Associate the image list with the tree
@SETWINDOWLONG(TreeView&,-16,$40000000+$10000000+$800000+$200000+$0001+$0002+$0010+$0100)
TVINSERT 0,0,1,"HKEY_LOCAL_MACHINE",$0010
@sendmessage(Treeview&,$1100,0,TV_INSERT#)
TVINSERT 0,0,1,"HKEY_USERS",$0010
@sendmessage(Treeview&,$1100,0,TV_INSERT#)
CLEAR TV_ITEM#,TV_TEXT#

While %MENUITEM<>-2

    Sleep 100
    LET TV_ITEM_HANDLE1&=@sendmessage(Treeview&,$110A,$0009,0)

    IF TV_ITEM_HANDLE1&<>TV_ITEM_HANDLE&

        LET REG_KEY$=""
        LET REG_ROOT$=""
        LET TV_ITEM_HANDLE&=TV_ITEM_HANDLE1&
        CLEAR TV_ITEM#,TV_TEXT#
        LONG TV_ITEM#,0=$11
        LONG TV_ITEM#,20=261
        LONG TV_ITEM#,16=TV_TEXT#
        LONG TV_ITEM#,4=TV_ITEM_HANDLE&
        @sendmessage(Treeview&,$110C,0,TV_ITEM#)
        LET REG_KEY$=@STRING$(TV_TEXT#,0)
        LET TV_ITEM_HANDLE2&=TV_ITEM_HANDLE&

        While TV_ITEM_HANDLE2&<>0

            LET TV_ITEM_HANDLE2&=@sendmessage(Treeview&,$110A,$3,TV_ITEM_HANDLE2&)

            IF TV_ITEM_HANDLE2&<>0

                CLEAR TV_ITEM#,TV_TEXT#
                LONG TV_ITEM#,0=$11
                LONG TV_ITEM#,20=261
                LONG TV_ITEM#,16=TV_TEXT#
                LONG TV_ITEM#,4=TV_ITEM_HANDLE2&
                @sendmessage(Treeview&,$110C,0,TV_ITEM#)
                LET REG_KEY$=""+REG_KEY$
                LET REG_KEY$=@STRING$(TV_TEXT#,0)+REG_KEY$

            endif

        wend

        LET REG_ROOT$=@SubStr$(REG_KEY$,1,"")

        IF REG_ROOT$<>""

            LET REG_KEY$=@TRANSLATE$(REG_KEY$,REG_ROOT$,"")
            CASE LEFT$(REG_KEY$,1)="" : LET REG_KEY$=@RIGHT$(REG_KEY$,@LEN(REG_KEY$)-1)

        else

            LET REG_ROOT$=REG_KEY$
            LET REG_KEY$=""

        endif

        While @sendmessage(Treeview&,$110A,$4,TV_ITEM_HANDLE&)<>0

            LET TV_ITEM_HANDLE2&=@sendmessage(Treeview&,$110A,$4,TV_ITEM_HANDLE&)
            @Sendmessage(Treeview&,$1101,0,TV_ITEM_HANDLE2&)

        wend

        IF REG_ROOT$="HKEY_USERS"

            LET REG_Error&=@RegOpenKeyEx($80000003,@addr(REG_Key$),0,$20019,@addr(REG_Handle&))

        Elseif REG_ROOT$="HKEY_LOCAL_MACHINE"

            LET REG_Error&=@RegOpenKeyEx($80000002,@addr(REG_Key$),0,$20019,@addr(REG_Handle&))

        else

            LET REG_Error&=2

        endif

        LET REG_ZÄHLER%=0

        whilenot REG_Error&

            LET REG_Error&=@RegEnumKey(REG_Handle&,REG_Zähler%,REG_Ergebnis#,261)

            IF REG_Error&=0

                LET REG_ERGEBNIS$=@string$(REG_Ergebnis#,0)
                TVINSERT TV_ITEM_HANDLE&,0,1,REG_ERGEBNIS$,$0010
                @sendmessage(Treeview&,$1100,0,TV_INSERT#)

            endif

            inc REG_Zähler%

        wend

        @RegCloseKey(REG_Handle&)
        @Sendmessage(Treeview&,$1102,$2,TV_ITEM_HANDLE&)

    endif

    DRAWTEXT 0,0,"REG_ROOT$="+REG_ROOT$+@SPACE$(255)
    DRAWTEXT 0,20,"REG_KEY$="+REG_KEY$+@SPACE$(255)

WEND

ImageList_Destroy(hImagelist&)
Dispose Iconname#
Dispose Hicon#
Dispose TV_ITEM#
DISPOSE TV_INSERT#
Dispose REG_ERGEBNIS#

ideas and Verbesserungsvorschläge?
 
06/03/05  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

5.189 Views

Untitledvor 0 min.
Member 862464103/26/24
H.Brill01/04/22
Andre Rohland02/13/18
Torsten Boo09/20/13
More...

Themeninformationen



Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie