Español
Foro

Ordner en Listview einlesen?

 

Hans-Jürgen
Trog
¡Hola,

Yo una Imagelist (s. Große-Mapa de bits-Icons.prf de Franco) creado, a Bilder uno Ordners Mostrar que se. Dazu debería nun aber auch el Dateinamen adecuado voluntad. Mi Fragen dazu:

1. como kann Yo el Archivos uno Ordners en el Listview einlesen? Nach Möglichkeit automáticamente.
2. gleichzeitig debería dazu auch el Minibilder adecuado voluntad.
3. ¿Es posible, en z.B. 3 Spalten auch cada Zellen anzuklicken? D.h., Yo como Rückgabe en una Bild o. dessen Dateinamens como Rückgabe esta Dateinamen erhalte. Also z.B. en el 3. Línea el 2. Bild anklicken usw.

Viele Grüße
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
20.07.2008  
 




Hans-Jürgen
Trog
kleine Zusatzfrage:

qué bedeutet eigentlich el o.g. PRF al Anfang : {$iq} ? Profano meldet dazu: Befehl unbekannt!

Saludo
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
20.07.2008  
 




Jac
de
Lad
Das isdt una XPSE-Kommando y weist XPSE a el código después de el Einlesen en el Interpreter a enviar y se incluso anschließend a final.
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
20.07.2008  
 




Thomas
Freier
Wenns porque una Bildvorschau con el Listview ser se, voluntad hiermit todos Fragen beantwortet?
 {$iq}
Declarar lvdll&,listview&,texto$,x&,y&,z&,ilist&
Declarar bild&[199]
Declarar bereich#
Dim bereich#,512
Def GetSysColor(1) !"USER32","GetSysColor"
 $I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
Windowtitle "Unbegrenzt grosse Bilder en Listviews einbauen"
Windowstyle 26+512
Ventana 0,0-640,600
Cls GetSysColor(15)
Def ImageList_Create(5) !"comctl32.dll","ImageList_Create"
Def ImageList_Destroy(1) !"comctl32.dll","ImageList_Destroy"
Def ImageList_Add(3) !"comctl32.dll","ImageList_Add"
Usefont "MS Sans Serif",10,0,0,0,0
SetDialogFont 1
Profano-interne Listbox füllen
Bilder en el Listbox
var Pfad$ = @GetDir$("@")
ClearList
ChDir Pfad$ + "\lvdata"
AddFiles "*.JPG"
ChDir Pfad$
Gewünsche Bildgrösse para dieses Demo skaliert: 30 x 30 Pixel
ilist&=ImageList_Create(30,30,33,0,0)
listview&=CreateListView(%hwnd,%hInstance,0,GetSysColor(24),-1,$23)
SetImageList(listview&,ilist&)
x& = 1 + ((1+%GetCount) / 2)  Anzahl el erforderlichen Zeilen en 2 Spalten
BuildListview(listview&,2,x&,280,0)
text$="Spalte 1"
SetColumnName(listview&,Addr(texto$),0)
text$="Spalte 2"
SetColumnName(listview&,Addr(texto$),1)
Declarar Nr%
Nr%= 0
x& = 0  Línea

Mientras que Nr% < %GetCount   Anzahl el Bilder en el Listbox

    y& = 0  Spalte

    Mientras que y& < 2

        texto$= Pfad$ + "\lvdata\" + @ListBoxItem$(Nr%)
        bild&[Nr%] = Crear("hSizedPic", -1,texto$, 30, 30, 1)
        ImageList_Add(ilist&,bild&[Nr%],0)
        texto$= "  " + @ListBoxItem$(Nr%)
        SetItemText(listview&,addr(texto$),y&,x&)
        SetIconColumn(y&)
        SetIcon(listview&,x&,Nr%)
        DeleteObject bild&[Nr%]
        inc y&
        inc Nr%
        Case nr% > %GetCount : BREAK

    EndWhile

    inc x&

EndWhile

ShowListView(listview&,8,8,612,304)
text$="Registriert todos Mausklicks (links, rechts, Haga doble clic en) en una Itemtext.
"
text$=texto$+"Auch linke y rechte Mausklicks en Spaltenbuttens voluntad registriert."
var status&=Crear("TEXT",%HWND,texto$,8,464,600,72)
InitMessages(%hwnd)

Mientras que 1

    waitinput
    Case %key=2:BREAK
    y&=GetControlParas(bereich#)

    If y&=2

        texto$="Der rechte Mausknopf wurde en Spalte "+Str$(Largo(bereich#,4))+" / "+Str$(Largo(bereich#,8))+" gedrückt.
        "
        SetText status&,texto$

    ElseIf y&=1

        texto$="Der linke Mausknopf wurde en Spalte "+Str$(Largo(bereich#,4))+" / "+Str$(Largo(bereich#,8))+" como Haga doble clic en gedrückt.
        "
        SetText status&,texto$

    ElseIf y&=3

        texto$="Der linke Mausknopf wurde en Spalte "+Str$(Largo(bereich#,4))+" / "+Str$(Largo(bereich#,8))+" gedrückt.
        "
        SetText status&,texto$
        GetItemText(listview&,bereich#,Str$(Largo(bereich#,4)),Str$(Largo(bereich#,8)))
        texto$=trim$(String$(bereich#,0))
        MessageBox "Mit Linksklick podría el Bild
        "+ texto$ +"
        en Originalgröße adecuado voluntad...","Information",$40040

    EndIf

EndWhile

Disponer bereich#
ImageList_Destroy(ilist&)
DestroyWindow(%hwnd)
freedll lvdll&
End

21 Uhr una Bilderordner gestestet. Lo kommt a uno Fehlanzeige y Aufbau dauert ewig.

Kommt el Ejemplo de "Pascal" en Cuestión?
LoadFile-Diálogo con Mapa de bits-Anzeige (de Windows 2000 / XP)
(C) Uwe "Pascal" Niemeier
window 10,10-700,500
 $H Messages.ph
 $H Windows.ph

proc OpenFileHook-------------------------------OpenFileHook----------------------------

    parámetros dlg&,msg&,wparam&,lparam&
    caso Status%:volver 1-----Ansicht muss sólo una vez adaptado voluntad
    casenot msg&=~WM_NOTIFY:volver 1

    if long(lparam&,8)=-603---En Init existieren DefView y LV todavía no!

        Status%=1
        DefView&=~FindWindowEx(~GetParent(dlg&),0,"SHELLDLL_DefView","")
        sendmessage(DefView&,~WM_COMMAND,$702D,0)--Undokumentierte Message

    endif

    volver 1
    ENDPROC---------------------------------------------------------------------------------

    proc LoadPicDialog------------------------------LoadPicDialog---------------------------

        parámetros Pfad$,Titel$,Name$
        declarar ofn#,Result$,Result&
        declarar DefView&,Status%------Variables para Hook
        Name$=Name$+"z*.bmp;*.jpe;*.jpeg;*.jpg;*.gifzz"--Filter (en Bedarf adaptar)
        dim ofn#,88+256---------------Struktur (Win2000/NT/XP) + Puffer
        clear ofn#
        long ofn#,0=88----------------Grösse Struktur para GetOpenFileName (76 para Win9x)
        long ofn#,4=%hwnd-------------übergeordnetes Ventana
        long ofn#,12=addr(Name$)------Filter/Typ
        long ofn#,28=ofn#+88----------Beginn Puffer
        long ofn#,32=255--------------Puffergrösse
        long ofn#,44=addr(Pfad$)------Anfangspfad
        long ofn#,48=addr(Titel$)-----Titel
        long ofn#,52=$880024----------Flags
        long ofn#,68=procaddr("OpenFileHook",4)
        Result&=external("COMDLG32","GetOpenFileNameA",ofn#)
        Result$=cadena$(ofn#,88)
        casenot Result&:Result$=""
        procaddr("OpenFileHook",-4)
        disponer ofn#
        volver Result$
        ENDPROC---------------------------------------------------------------------------------
        imprimir LoadPicDialog("","Bitte Bild wählen","Bild")
        waitkey
 
Gruß Thomas
Windows XP SP2, XProfan X2
20.07.2008  
 




Hans-Jürgen
Trog
Hola Tomás,

el Code de Pasqal es prima. Läuft

en el Línea
long ofn#,68=procaddr("OpenFileHook",4)
Yo rausgefunden, daß el 4 = con Bild y el 0 = sin Bild(Liste) bedeutet.

Weißt Usted viell., si uno hier el -4 auch ändern muß, si uno 0 (obere Línea) einsetzt?
procaddr("OpenFileHook",-4)

Gracias
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
21.07.2008  
 



Autsch! Der 2. Param de ProcAddr muss el número el a erwartenden Parámetro ser - Usted darfst hier a el 4 nichts ändern...

Was Usted beobachtet hast es una Fehlfunktion, also sólo scheinbar richtiges Ergebnis wegen falscher Ursache.
 
21.07.2008  
 




Hans-Jürgen
Trog
Hola si,

ok, aber como o. qué podría uno transferencia, en z.B. por Menüpunkt zwischen el beiden Varianten wählen a puede? Oder va el no?

Gracias
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
21.07.2008  
 



Was genau?
 
21.07.2008  
 




Hans-Jürgen
Trog
Yo mi el código de Pasqal (oben) con el Loadfile-Diálogo. In el Form se el Diálogo con los Miniaturansichten geöffnet. Eigentlich genau así, Yo lo me wünschte. Aber viell. puede ser ihn auch en el Listenansicht abierto?
Wenn sí, entonces podría Yo en mi Progrämmchen wählen dejar, si con Miniaturen oder si como Liste el Diálogo erscheint.

Tuve sí pensamiento, dass el con el "4" o. "0" bewirkt se. Leider sí falso pensamiento

Saludo
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
21.07.2008  
 




Hans-Jürgen
Trog
Yo habs con googlen gefunden: [...] 

Dort voluntad el Messages dafür gezeigt y lo klappt prima!!

Saludo
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
21.07.2008  
 



Musst sólo el SendMessage ändern o. con esta Konstanten füttern:

Como Usted siehst verwendet Pascal hier $702D also SHVIEW_THUMBNAIL.

Ah, warst ne Sekunde más rápido...
 
21.07.2008  
 




Hans-Jürgen
Trog
Hola si,

sólo ne el turno de preguntas, el con diesem reciente sólo nebenbei a tuen ha. Im RGH-Foro Yo a Andreas Miethe esta Cuestión gestellt: [...] 

Yo weiß no, si él Fiesta ha oder hoffentlich no krank es.

Der Code se ejecuta en el Ventana principal (%hwnd). Yo habe ya viel probiert, bekomme aber el Aktionen no en una Ventana/Diálogo, el z.B. con @Crear("Window",N,S,X1,Y1,X2,Y2) producido wurde.

¿Puede Usted el adaptar?

Würde mich muy freuen.

Gracias
Hans-Jürgen
 
Windows-Tablet mit Win11, XProfan X4
21.07.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

16.277 Views

Untitledvor 0 min.
Alibre28.01.2021
Thomas Zielinski22.10.2020
p.specht13.02.2019
Michael W.07.07.2016
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