Español
Foro

Treeview

 

Dieter
Zornow
Yo mich hiermal a una Treeview probiert, el el Verzeichnisse de el Platte einliest
y cada Elemente abfragbar son. Der Code basiert weitestgehend en el Ejemplo de
Uwe (Pascal). Es sí clever gemacht y yo quería el Rad no no neu erfinden.
Das Ejemplo de Pascal ha el Nachteil, dass lo por el Assemblerroutinen no con el
Windowsstyle 512 funktioniert. XProfan aber dummerweise en vielem esta Stil braucht para
ordungungsgemäßen trabajo.
Dashalb Yo el código algo verändert, unos pocos Sicherheiten qué el anklicken de no
bereiten Laufwerken betrifft y en Ensamblador verzichtet. Es fast fertig, todavía no
optimiert, pero se ejecuta.
Lo son una Problema, el Yo no encontrar kann. Xprofan stürzt unregelmäßig de, Manchmal kann
uno clic y clic y lo passiert gar nichts. Manchmal stürzt lo ya después de wenigen Klicks
de. Ist unerklärlich como sí alles en gleichen Routinen läüft.
Yo habe lo nun aufgegeben, como lo somit unbrauchbar es y el código begelegt. Tal vez findet
sí alguien heraus, como stabil se. Fehler scheinen no disponible a ser, como weder el Inspector
todavía XPSE algo a bemängeln haben.
Im Augenblick se ejecuta lo sólo bajo XProfan 11, como einiges, no viel, su verwendet se.

6 kB
Hochgeladen:11.09.2008
Ladeanzahl91
Descargar
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
11.09.2008  
 




Frank
Abbing
Gibst du el PIDL eigentlich irgendwo otra vez frei?

Solche Se bloquea passieren oft, si Estructuras el verkehrte Größe besitzen oder en erneutem Benutzen vorher no vollständig gelöscht fueron.
 
11.09.2008  
 




Dieter
Zornow
Das kann no ser, como sólo encima Profano no encima API eingelesen se
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
12.09.2008  
 




Frank
Abbing
Kann no ser? Also Yo sehe einiges a API en el INC, pero si du media...

~SHGetFileInfo(a&,0,SHF#,270,16393) -------------Flags: SHGFI_SMALLICON + SHGFI_PIDL

Das producido una PIDL-Handle, y meines Erachtens después de musst Si es usted el liberación.
 
12.09.2008  
 




Dieter
Zornow
Sí du hast bastante, 1 Función son una PIDL (SHGetSpecialFolderLocation), el otro jeweils sólo el Icons. Das dürfte pero no el Programa stören, como el sólo jeweils 1 x al Programmanfang aufgerufen se.
El Función el du media son eigentlich auch kein PIDL zurück

SHGFI_PIDLIndicates that pszPath is the address of a ITEMIDLIST structure rather than a path name.

Yo denke el problema liegt mehr en XProfan, porque incluso si yo me el Speicher zuknallen sería y alles otro einwandfrei se ejecuta, debería el Programa ebenfalls laufen y no abstürzen.
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
12.09.2008  
 




Dieter
Zornow
Yo denke Yo el Fehler abgegrenzt. es el Función el el Clic el Cruz ermöglicht. Diese braucht uno aber ansonsten muss uno sólo direkt el Eintrag anklicken y el Eintrag füllen, bevor el Klicks en Cruz Wirkung zeigen. Man braucht also hier sólo algo besseres entonces gehts, me fällt aber gerade nichts mehr una.

Es el Übeltäter
KompilierenMarcaSeparación
proc Getitem holt über das Kreuz

    parameters sel&
    declare hit#:dim hit#,16
    declare po#:dim po#,8
    clear hit#:clear po#
    GetCursorPos(po#)
    ScreenToClient(tv&,po#)
    Long hit#,0=Long(po#,0)
    Long hit#,4=Long(po#,4)
    Long hit#,8 = 8 Tvht_onitemindent
    Long hit#,12 = sel&
    var pos& = sendmessage(tv&,4369,0,hit#) TVM_HITTEST
    dispose hit#,po#
    return pos&

Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
12.09.2008  
 




Frank
Abbing
Deswegen sí mi Vermutung en el vorvorhergehenden Posting. Solche unvermittelten Se bloquea riechen förmlich después de uno Speicherüberschreibung oder falscher Initialisierung. Tal vez auch uno fehlenden Sicherheitsabfrage, si una API tatsächlich el gewünschte Ergebnis geliefert ha.
 
12.09.2008  
 




Uwe
''Pascal''
Niemeier
¡Hola Dieter!

Bin No sicher, wo el Fehler liegt; el veröffendlichte Demo es sí ya algo älter...

En neueren Versionen (bajo XProfan 10) verwende Yo SubClassing, en después de el Message TVN_ITEMEXPANDINGW a fischen.
Wenn esta auftritt, enthält el 4. Parámetro el WindowProc (LParam) una Pointer en una NMTREEVIEW-Struktur.
NMTREEVIEW se z.B. auch en Selektion uno Items verwendet y enthält Infos para aktuellen y para vorher aktiven Item.

El Stuktur besteht grob dijo de uno NMHDR-, zwei TVITEM- y uno POINT-Struktur
Stark vereinfacht y no lauffähig (!!) sähe el para XProfan 10 etwa así de:
KompilierenMarcaSeparación
struct NMTREEVIEW=hwndFrom&,idFrom&,code&,action&,
maskO&,ItemO&,stateO&,stateMaskO&,TextO&,TextMaxO&,ImageO&,SelectedImageO&,ChildrenO&,ParamO&,
maskN&,ItemN&,stateN&,stateMaskN&,TextN&,TextMaxN&,ImageN&,SelectedImageN&,ChildrenN&,ParamN&,
x&,y&
--Die Bezeichnungen habe ich willkührlich gewählt: O=Old ; N=New
dim TvN#,NMTREEVIEW

proc DlgProc------------------------------------DlgProc-------------------------------------

    parameters wnd&,msg&,wparam&,lparam&

    if msg&=~WM_NOTIFY

        TvN#=lparam&

        if TvN#.Code&=~TVN_ITEMEXPANDINGW

            TvItem&=TvN#.ItemN&----TvItem&: Eintrag, dessen "+" geklickt wurde
            ---Weitere Aktionen, z.B. sendmessage(%hwnd,5000,0,0)

        endif

    endif

    return ~CallWindowProc(DlgProc&,wnd&,msg&,wparam&,lparam&)
    endproc------------------------------------------------------------------------------------n class=s2>-

Sollte el geklickte Eintrag todavía no Untereinträge haben, voluntad esta eben nachgeladen.
Zu testen de paso con SendMessage(Tv&,~TVM_GETNEXTITEM,~TVGN_CHILD,Item&)
(Gibt el Handle des 1. ChildItems zurück)

Noch qué: Um Ereignisse por SubClassing abzufragen, sende Yo meist de el WindowProc heraus una selbstdefinierte y como UserMessage angemeldete Message ans Ventana principal,
en el WaitInput en el Haupteingabeschleife a durchbrechen.
Abhängig de dieser Message (oder ihren Parametern) voluntad entonces irgendwelche Aktionen ausgelöst.

Universelles lauffähiges Snipped tener Yo en el Moment por desgracia, no a Hand
Hoffe lo hilft trotzdem

SeeYou
Pascal
 
15.09.2008  
 




Dieter
Zornow
@Uwe,
Gracias dir, Yo voluntad lo veces ausprobieren si qué se. Wichtig es sólo, dass lo bajo cada Windowstyle se ejecuta.

Saludo

Dieter
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
15.09.2008  
 



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

1.958 Views

Untitledvor 0 min.
Member 862464117.04.2024
RudiB.07.04.2022
H.Brill04.01.2022
Stephan Sonneborn12.04.2012
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