| |
|
|
- 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. |
|
|
| |
|
|
|
| |
|
- 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 |
|
|
| |
|
|
|
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 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. |
|
|
| |
|
|
|
Frank Abbing | |
|
| |
|
|
|
| @Horst: Thumbnail[s] |
|
|
| |
|
|
|
| [quote:1e6dde129d]@Horst: Thumbnail[s] [/quote:1e6dde129d] @iF ...aber ich war dicht dran, gelle ? |
|
|
| |
|
|
|
| [quote:2dd053f59b=Horst Horn][quote:2dd053f59b]@Horst: Thumbnail[s] [/quote:2dd053f59b] @iF ...aber ich war dicht dran, gelle ? [/quote:2dd053f59b] Saudicht! |
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
| 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. |
|
|
| |
|
|
| |
|
- 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) : KompilierenMarkierenSeparierenIncludeFile "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
|
|
|
| |
|
|
|
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. |
|
|
| |
|
|
|
Fred Matthiesen | Habe es ausprobiert. Toll. Funktioniert. |
|
|
| |
|
|