Français
Forum

Treeview

 

Dieter
Zornow
j'ai mich hiermal à einem Treeview probiert, cela qui Verzeichnisse de qui Platte einliest
et chaque Elemente abfragbar sommes. qui Code basé weitestgehend sur dem Beispiel de
Uwe (Pascal). c'est oui clever gemacht et je voulais cela roue pas pas récente erfinden.
cela Beispiel de Pascal hat den le tort, dass es par qui Assemblerroutinen pas avec dem
Windowsstyle 512 funktioniert. XProfan mais dummerweise chez vielem cette Stil braucht zum
ordungungsgemäßen marcher.
Dashalb habe Je l' Code quelque chose modifié, un paire Sicherheiten quoi cela Vous pouvez de pas
bereiten Laufwerken betrifft et sur Assembler verzichtet. c'est presque fertig, encore pas
optimiert, mais es fonctionne.
il y a un Problem, le moi pas trouver peux. Xprofan stürzt unregelmäßig ab, quelquefois peux
on klicken et klicken et es passiert gar rien. quelquefois stürzt es déjà pour wenigen Klicks
ab. Ist unerklärlich là oui alles sur qui gleichen Routinen läüft.
j'ai es eh bien aufgegeben, là es somit inutilisable ist et den Code begelegt. peut-être findet
oui quelqu'un heraus, comme stabil wird. faute sembler aucun vorhanden trop son, là weder qui Inspector
encore XPSE quelque chose trop bemängeln avons.
Im Augenblick fonctionne es seulement sous XProfan 11, là einiges, pas viel, en verwendet wird.

6 kB
Hochgeladen:11.09.2008
Downloadcounter96
Download
 
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 qui PIDL eigentlich irgendwo wieder libre?

Solche Abstürze passer souvent, si Strukturen qui verkehrte Taille besitzen ou bien chez erneutem Benutzen auparavant pas vollständig gelöscht wurden.
 
11.09.2008  
 




Dieter
Zornow
cela peux es pas son, là seulement sur Profan pas sur API lire wird
 
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
peux pas son? alors je vois einiges à API dans qui INC, mais si du meinst...

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

cela erzeugt un PIDL-Handle, et meines Erachtens pour musst du cela freigeben.
 
12.09.2008  
 




Dieter
Zornow
oui tu as droite, 1 Funktion gibt un PIDL (SHGetSpecialFolderLocation), qui anderen jeweils seulement qui Icônes. cela pourrait mais pas cela Programme stören, là cela seulement jeweils 1 x am Programmanfang aufgerufen wird.
qui Funktion qui du meinst gibt eigentlich aussi ne...aucune PIDL zurück

SHGFI_PIDLIndicates that pszPath is le address of à ITEMIDLIST structure rather than a path nom.

je denke cela Problem liegt plus chez XProfan, car selbst si je mir den grenier zuknallen serait et alles autre einwandfrei fonctionne, sollte cela Programme également courir et pas 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
je denke j'ai den faute abgegrenzt. c'est qui Funktion qui den Klick sur cela Croix permet. cet braucht on mais ansonsten muss on seulement direct den Eintrag Vous pouvez et den Eintrag füllen, bevor qui Klicks sur Croix Wirkung montrer. on braucht alors ici seulement quelque chose besseres ensuite gehts, mir fällt mais justement rien plus un.

c'est qui Übeltäter
KompilierenMarqueSéparation
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 oui mon Vermutung im vorvorhergehenden Posting. Solche unvermittelten Abstürze riechen förmlich pour einer Speicherüberschreibung ou bien falscher initialisation. peut-être aussi einer fehlenden Sicherheitsabfrage, si une API réellement cela gewünschte Ergebnis geliefert hat.
 
12.09.2008  
 




Uwe
''Pascal''
Niemeier
allô Dieter!

suis Je ne sûrement, wohin qui faute liegt; qui veröffendlichte Demo ist oui déjà quelque chose älter...

chez neueren Versionen (sous XProfan 10) verwende je SubClassing, um pour qui Message TVN_ITEMEXPANDINGW trop fischen.
si cet auftritt, contient qui 4. paramètre qui WindowProc (LParam) une Pointer sur une NMTREEVIEW-Struktur.
NMTREEVIEW wird z.B. aussi chez Selektion eines Items verwendet et contient Infos zum aktuellen et zum auparavant aktiven Item.

qui Stuktur besteht grob dit aus einer NMHDR-, deux TVITEM- et einer POINT-Struktur
Stark vereinfacht et pas courir (!!) sähe cela pour XProfan 10 etwa so aus:
KompilierenMarqueSéparation
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 qui geklickte Eintrag encore aucun Untereinträge avons, volonté cet plan nachgeladen.
trop testen incidemment avec SendMessage(Tv&,~TVM_GETNEXTITEM,~TVGN_CHILD,Item&)
(Gibt cela Handle des 1. ChildItems zurück)

encore quoi: Um Ereignisse per SubClassing abzufragen, sende je meist aus qui WindowProc heraus une selbstdefinierte et comme UserMessage angemeldete Message à l' Hauptfenster,
um cela WaitInput dans qui Haupteingabeschleife trop durchbrechen.
dépendant de cette Message (ou bien ihren Parametern) volonté ensuite irgendwelche Aktionen ausgelöst.

Universelles lauffähiges Snipped hab je im Moment malheureusement pas zur main
Hoffe es hilft quand même

SeeYou
Pascal
 
15.09.2008  
 




Dieter
Zornow
@Uwe,
merci dir, je werde es la fois ausprobieren si es quoi wird. important ist arrêt, dass es sous chaque Windowstyle fonctionne.

Salut

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  
 



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

2.039 Views

Untitledvor 0 min.
Gast.0815 vor 11 Tagen
Member 862464117.04.2024
RudiB.07.04.2022
H.Brill04.01.2022
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