Deutsch
Forum

Fotos in einem Listview darstellen

 
- Seite 1 -



Fred
Matthiesen
Wie kann ich eigene Fotos/Bilder in einem Listview darstellen.
Z.B. eine Adressverwaltung mit Vorname,Name,Foto,..... oder Foto,Vorname,Name,..... Die Reihenfolge ist egal.
 
SUSE 10.3 / Listview.dll
06.11.2006  
 



 
- Seite 2 -


Hallo an die Experten
Bevor ich das Rad neu erfinde - gibt es irgendwo in den Tiefen der Code-Kiste einen kleinen Code, mit dem man innerhalb eines Programmes von vorhandenen Bildern Tumbnails erstellen kann ? (hoffentlich habe ich den Daumennagel richtig geschrieben ) - die Frage steht im Zusammenhang mit diesem Thema (Bilder in Listview darstellen) also nicht offtopic
 
07.11.2006  
 




Frank
Abbing
@iF: Ich denke. Der Windows-Hintergrund ist ja auch eines.
Aber es gibt mehrere Arten von Listviews. Die Listview.dll unterstützt die sogenannten Report-Listviews.

@Fred: Es ist schwarz, weil du Farbe RGB(0,0,0) = 0 gesetzt hast. Setze in meinen oberen Code einfach oben irgendwo rein:

Def GetSysColor(1) !USER32,GetSysColor

[quote:e52788ee24]Die Image_list-Befehle kennt er nicht. Allerdings die Hilfe zur Listview.dll auch nicht.Es scheinen also Profan-Befehle zu sein. Aber auch in dieser Hilfe bin ich nicht fündig geworden. Anscheinen sind das Sendmassage-Befehle. Ich vermute das mal. Also: in welcher Hilfe stehen diese Befehle? Diesen Befehl habe ich in der Listview.dll-Hilfe gefunden: CreateImageList(F,B). Das ist aber auch alles. [/quote:e52788ee24]
Ja, CreateImageList() gehört zur Listview.dll. Für die grossen Bilder kannst du das aber nicht verwenden.
Die anderen sind APIs, die oben im Quellcode definiert sind:
KompilierenMarkierenSeparieren
Def ImageList_Create(5) !"comctl32.dll","ImageList_Create"
Def ImageList_Destroy(1) !"comctl32.dll","ImageList_Destroy"
Def ImageList_Add(3) !"comctl32.dll","ImageList_Add"

Genauer gesagt, es sind drei Funktionen aus der ComCtl32.dll des Systems.
Wie die aber in PB definiert und aufgerufen werden müssen weiss ich nicht. Ist jedenfalls ganz normale API.
 
07.11.2006  
 




Frank
Abbing
Wüsste ich nicht, Horst.
 
07.11.2006  
 



@Horst: Thumbnail[s]
 
07.11.2006  
 



[quote:1e6dde129d]@Horst: Thumbnail[s] [/quote:1e6dde129d]
@iF
...aber ich war dicht dran, gelle ?
 
07.11.2006  
 



[quote:2dd053f59b=Horst Horn][quote:2dd053f59b]@Horst: Thumbnail[s] [/quote:2dd053f59b]
@iF
...aber ich war dicht dran, gelle ? [/quote:2dd053f59b]
Saudicht!
 
07.11.2006  
 




Jörg
Sellmeyer
[quote:aad8924fec=Horst Horn]Hallo an die Experten
Bevor ich das Rad neu erfinde - gibt es irgendwo in den Tiefen der Code-Kiste einen kleinen Code, mit dem man innerhalb eines Programmes von vorhandenen Bildern Tumbnails erstellen kann ? (hoffentlich habe ich den Daumennagel richtig geschrieben ) - die Frage steht im Zusammenhang mit diesem Thema (Bilder in Listview darstellen) also nicht offtopic [/quote:aad8924fec]
Hallo Horst,
Mit dem neuen Create(hSizedPic,.) ist das schnell erledigt.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
07.11.2006  
 




Fred
Matthiesen
Toll, jetzt geht es in Profan9. Die Bilder dürfen max. 80x80 Pixel haben. In dieser Auflösung ist ein Foto auch noch gut zu erkennen.
Habe als Text einfach angegeben und die Spalte auf 80 reduziert. Super, jetzt habe ich eine Spalte nur mit Fotos.
Jetzt muß ich das Ganze nur noch in Purebasic zum Laufen haben dann ist das Ziel erreicht.
Vielleicht sieht Heinz das ja und könnte mir weiter helfen.
Danke schon mal im voraus.
 
SUSE 10.3 / Listview.dll
08.11.2006  
 



Ich glaub Heinz und Thomas sind hier unsere PBer, aber ich glaube das ganze in PB hinzubiegen ist garnicht schwer - zumal doch alle Apis ebenso zur Verfügung stehen?!

Ich glaube auch - mal jetzt aber unter uns xprofaner - in PB muss man irgendwie komisch mit den Controlhandles umgehen. Wir speichern ja (wie es sich gehört ) die Handles von Controls in Longs - ich glaube das ist in PB anders.
 
08.11.2006  
 



 
- Seite 3 -



Fred
Matthiesen
Hallo,
also ich habe es geschafft. Hatte Schwierigkeiten mit der Umsetzung der API-Funktionen. Weniger mit dem Aufruf als mit den Parametern. Aber was soll es. Hier ist der geänderte Purebasic-Code (Purebasic 4) :
KompilierenMarkierenSeparieren
IncludeFile "Listview.pb"
Global flen.l, lhandle.l, bereich.l
Global datei.s, datei2.s, db_datei.s
Global spalte1.s, spalte2.s, spalte3.s, sp1.s, sp2.s, sp3.s, selected.s
Dim Inhalt.s(2)
GetSysColor_(1)
Bildliste=ImageList_Create_(80,80,ILC_COLOR32,5,1)
ImageList_Destroy_(Bildliste)
ImageList_Add_(Bildliste,3,0)
spalte1.s = "Foto"
spalte2.s = "Name"
Inhalt(0)=""
Inhalt(1)="Name"
fenster1.l = OpenWindow(0, 100, 100, 600, 460, "List - View", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)

If CreateGadgetList(WindowID(0))

    ButtonGadget(1, 10, 10 ,70, 20, "Ende")
    PanelGadget(10, 5, 100, 580, 350);, "Listview", #PB_Frame3D_Double)

EndIf

fenster.l = GadgetID(10)
ilist=ImageList_Create_(80,80,33,0,0)
lhandle = CreateListview(fenster, 150, 150, RGB(255, 255, 255), -1, $31)
bild1=LoadImage(0,"test.bmp",#PB_Image_DisplayFormat)
ImageList_Add_(ilist,bild1,0)
bild2=LoadImage(1,"test2.bmp",#PB_Image_DisplayFormat)
ImageList_Add_(ilist,bild2,0)
SetImageList(lhandle,ilist)
IColumn(lhandle, @spalte1, 80, 0)
IColumn(lhandle, @spalte2, 180, 1)
SItem(lhandle,@inhalt(),2)
SItem(lhandle,@inhalt(),2)
SItem(lhandle,@inhalt(),2)
SetIcon(lhandle,0,0)
SetIcon(lhandle,1,1)
SetIcon(lhandle,2,0)
SetIconColumn(1)
SetIcon(lhandle,0,1)
SetIcon(lhandle,1,0)
SetIcon(lhandle,2,1)
InitMessages(fenster)
ShowListview(lhandle, 5, 15, 570, 320)
SetParent_(GadgetID(10),fenster)

Repeat

    EventID.l = WaitWindowEvent()

    Select EventGadget()

        Case 1
        CloseMessages(fenster)
        FreeMemory(0)
        DestroyWindow_(fenster1)
        CloseWindow(0)
        End

    EndSelect

Until WaitWindowEvent() = #PB_Event_CloseWindow

End
 
SUSE 10.3 / Listview.dll
08.11.2006  
 




Frank
Abbing
[quote:d21511c163]Toll, jetzt geht es in Profan9. Die Bilder dürfen max. 80x80 Pixel haben. In dieser Auflösung ist ein Foto auch noch gut zu erkennen.[/quote:d21511c163]
Die Bilder dürfen auch grösser sein. Dazu musst du diese Zeile anpassen:

ilist&=ImageList_Create(80,80,33,0,0)

Die beiden ersten Parameter kennzeichnen Breite und Höhe.
 
08.11.2006  
 




Fred
Matthiesen
Habe es ausprobiert. Toll. Funktioniert.
 
SUSE 10.3 / Listview.dll
08.11.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.713 Betrachtungen

Unbenanntvor 0 min.
Alibre25.01.2024
Uwe Lang13.04.2020
AndreasS26.12.2018
Member 154727723.09.2018
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie