Español
Foro

Brauche Ayuda en Treeview Control

 
- Página 1 -


¡Hola Profaner...

Posesiones desafortunadamente no blassen Schimmer de Treeviews y brauche veces dringend Ayuda:
Lo va en una Treeview con uno variablen Anzahl de Einträgen (muy viele Einträge evtl.).
Yo muß nun wissen:
- Den Texto des Eintrags, el en el Augenblick markiert es.
- Como viele Einträge bajo diesem Eintrag posición.
- El Textos aller jeweils übergeordneten Einträge.
- Ob el untergeordneten Einträge en el Augenblick sichtbar (aufgeklappt) son, oder no.

Kann me como alguien weiterhelfen?
 
02.06.2005  
 



 
- Página 1 -


Ist el DLL Freeware?
 
02.06.2005  
 




Frank
Abbing
Hi,

el Dll es desafortunadamente sólo Freeware, si du el Listview.dll ya registriert hast. Pero komplett testbar, si dich el Hinweisfenster no stört. Yo schick dir el Dll.
 
02.06.2005  
 



BESTEN Dank...

Bin gespannt, como weit Yo así komme.
 
02.06.2005  
 



Wenn uno sólo una vez el Messages sabe sieht auch el Selbsterstellen no mehr así schwierig de. Nach TVM_GETITEM Yo gesucht.
 
03.06.2005  
 




Frank
Abbing
Hi,

sí, lo son algunos nette Messages, el uno bien gebrauchen kann. Man muss se aber einarbeiten y algunos Messages scheinen No hundert prozentig como beschrieben a trabajo.

Willst du algo como hacer como el Registrierungs-Editor regedit?
Wo finde Yo el Registyeinträge una vez más en el Sistema?
 
03.06.2005  
 



[quote:16de0c36a7=Frank Abbing]
Willst du algo como hacer como el Registrierungs-Editor regedit?
[/quote:16de0c36a7]
Sí, en el Art. Nur voluntad Yo no Einträge, pero Zugriffsrechte Editar.

[quote:16de0c36a7=Frank Abbing]
Wo finde Yo el Registyeinträge una vez más en el Sistema?
[/quote:16de0c36a7]
Wenn Yo genau wissen sería qué du así media, sería Yo dir el gerne verraten - vorausgesetzt Yo wüßte el Antwort darauf...
Vergiß no - Yo bin absolut kein Experte.
 
03.06.2005  
 




Jörg
Sellmeyer
El Registry se zumindest bajo Win95 - 98 en Sistema.dat y user.dat en el Windowsverzeichnis gespeichert.
Sinnvoll dürfte aber más el auslesen mittels Api ser y no direkte Zugriff en el Archivos.
Uwe Pascal Niemeyer ha glaube Yo una par schöne Vorlagen dazu, cómo todo Registry-Zweige en un Resbalón auslesen kann.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.06.2005  
 



Wenns sólo por lo tanto va - Yo denke veces por lo tanto gehts pero no...
Um Jörg veces a ergänzen:
El Registry besteht de individual Hives, el en Bedarf hinzugeladen voluntad. Bajo NT es para Ejemplo el Registryabschnitt cada individual Users en el NTUSER.DAT Archivos en el Profilverzeichnis des betreffenden Users.
Einen richtigen Pfad para el Registry hay also eigentlich nada.
Hier veces mi Anfänge a el Thema - es, como dijo, mein erstes Treeview:
KompilierenMarcaSeparación
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#
Disponer REG_ERGEBNIS#

Ideen y Verbesserungsvorschläge?
 
03.06.2005  
 



 
- Página 2 -



Frank
Abbing
Hi,

Yo mi, el el gesamte Registry irgendwo en el Bootdisk gespeichert es. Ist Así que una Pfad. Kann pero no mehr encontrar.
 
03.06.2005  
 



¡Hola Franco...

Tal vez beantwortet que aquí deine Cuestión ya algo mejor:
Hive 
Bajo no NT-basierenden Windowssystemen saber Yo sólo el de Jörg angesprochenen Hives User.dat y Sistema.dat.
 
31.07.2005  
 




Frank
Abbing
Hi,

sí, el meinte Yo wohl.
Viel Spass en el Fiesta!
 
31.07.2005  
 



Gracias!
 
31.07.2005  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.139 Views

Untitledvor 0 min.
Member 862464126.03.2024
H.Brill04.01.2022
Andre Rohland13.02.2018
Torsten Boo20.09.2013
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie