Français
Forum

Brauche Aider chez Treeview Contrôle

 
allô Profaner...

Habe malheureusement keinen blassen Schimmer de Treeviews et brauche la fois dringend Aider:
und dir um un Treeview avec einer variablen Anzahl de Entrées (très viele Einträge peut-être.).
je dois eh bien savons:
- Den Text des Eintrags, qui im Augenblick markiert ist.
- comment viele Einträge sous diesem Eintrag stehen.
- qui Textes aller jeweils übergeordneten Einträge.
- si qui untergeordneten Einträge im Augenblick sichtbar (aufgeklappt) sommes, ou bien pas.

peux mir là quelqu'un weiterhelfen?
 
02.06.2005  
 



... je voudrais quasi qui gesammte Registry dans einem Treeview représenter et daraus une Eintrag auswählen peut...
Hat quelqu'un déjà la fois so quelque chose gemacht? idées??
 
02.06.2005  
 




Frank
Abbing
Hi,

je hab une Treeview.dll gemacht. avec cela sollte cela simple trop faire son, immerhin sommes Registry-Einträge aussi seulement Pfade. dans Kürze erfolgt mon Listview.dll-Update chez qui es qui Treeview.dll comme kostenloses Addon gibt. si du pas attendre peux, schicke je vous dir aussi.
veux du es sans Dll faire et pas qui Profanfunktion prendre, ensuite viel Spass.....
 
02.06.2005  
 



allô Frank...

Hab déjà sur toi gehofft. Wäre super, si cela avec deiner DLL aller serait! la hâte du encore fois le Downloadadresse?
 
02.06.2005  
 



Ist qui DLL Freeware?
 
02.06.2005  
 




Frank
Abbing
Hi,

qui Dll ist malheureusement seulement Freeware, si du qui Listview.dll déjà registriert la hâte. Ist mais komplett testbar, si toi cela Hinweisfenster pas stört. je schick dir qui Dll.
 
02.06.2005  
 



BESTEN Dank...

suis gespannt, comment large je avec cela viens.
 
02.06.2005  
 



si on seulement einmal qui Messages kennt sieht aussi cela Selbsterstellen pas plus so schwierig aus. Pour TVM_GETITEM habe je gesucht.
 
03.06.2005  
 




Frank
Abbing
Hi,

oui, il y a quelques gentille Messages, qui on bien gebrauchen peux. on muss sich mais einarbeiten et quelques Messages sembler Je ne hundert prozentig comment beschrieben trop marcher.

veux du quelque chose comme faire comment den Registrierungs-Editor regedit?
wohin finde je qui Registyeinträge encore la fois im System?
 
03.06.2005  
 



[quote-part:16ab0c36a7=Frank Abbing]
veux du quelque chose comme faire comment den Registrierungs-Editor regedit?
[/quote-part:16ab0c36a7]
oui, dans qui Art. seulement veux je aucun Einträge, mais Zugriffsrechte éditer.

[quote-part:16ab0c36a7=Frank Abbing]
wohin finde je qui Registyeinträge encore la fois im System?
[/quote-part:16ab0c36a7]
si je oui c'est ca savons serait quoi du avec cela meinst, serait je dir cela volontiers verraten - vorausgesetzt je wüßte qui Antwort puis...
Vergiß pas - je suis absolu ne...aucune Experte.
 
03.06.2005  
 




Jörg
Sellmeyer
qui Registry wird zumindest sous Win95 - 98 dans System.dat et user.dat im Windowsverzeichnis gespeichert.
Sinnvoll pourrait mais plutôt cela auslesen mittels Api son et pas qui directe Zugriff sur qui Fichiers.
Uwe Pascal Niemeyer hat glaube je un par belle Vorlagen en supplément, comment on ganze Registry-Zweige dans einem Glissement auslesen peux.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.06.2005  
 



Wenns seulement tout autor allez - je denke la fois tout autor gehts mais pas...
Um Jörg la fois trop ergänzen:
qui Registry besteht aus individuel Hives, qui chez besoin hinzugeladen volonté. sous NT steht zum Beispiel qui Registryabschnitt chaque individuel Users dans den NTUSER.DAT Fichiers im Profilverzeichnis des betreffenden Users.
Einen richtigen Pfad pour qui Registry gibt es alors eigentlich gar pas.
ici la fois mon Anfänge trop dem Thema - ist, comment dit, mon erstes Treeview:
KompilierenMarqueSéparation
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#

idées et Verbesserungsvorschläge?
 
03.06.2005  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

5.217 Views

Untitledvor 0 min.
Member 862464126.03.2024
H.Brill04.01.2022
Andre Rohland13.02.2018
Torsten Boo20.09.2013
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie