| |
|
|
- Page 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. |
|
|
| |
|
|
| |
|
- Page 2 - |
|
|
Fred Matthiesen | Ist alles schwarz. Hier der geänderte Code: KompilierenMarkierenSeparierenDeclare lvdll&,listview&,text$,x&,y&,z&,ilist&,bild1&,bild2&
$I Listview_Funktionen.inc
lvdll&=usedll("Listview.dll")
Cls @Rgb(23,23,23)
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
InitMessages(%hwnd)
ilist&=ImageList_Create(80,80,33,0,0)
listview&=CreateListView(%hwnd,%hinstance,0,@Rgb(0,0,0),-1,$3)
bild1&=Create("hPic",-1,"C: est est3.bmp")
ImageList_Add(ilist&,bild1&,0)
bild2&=Create("hPic",-1,"C:TestTest3.bmp")
ImageList_Add(ilist&,bild2&,0)
SetImageList(listview&,ilist&)
InsertColumn listview&,"Name",200,0
InsertColumn listview&,"Index",160,0
SetItem listview&,"Test","Test"
SetItem listview&,"Test","Test"
SetItem listview&,"Test","Test"
SetIcon(listview&,0,0)
SetIcon(listview&,1,1)
SetIcon(listview&,2,2)
SetIconColumn(1)
SetIcon(listview&,0,0)
SetIcon(listview&,1,0)
SetIcon(listview&,2,2)
ShowListView(listview&,8,8,480,320)
While 1
waitinput
Case %key=2:BREAK
EndWhile
ImageList_Destroy(ilist&)
DestroyWindow(%hwnd)
freedll lvdll&
End
|
|
|
| |
|
|
|
Fred Matthiesen | Hier ist der geänderte Purebasiccode: 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
spalte1.s = "Name"
spalte2.s = "Index"
Dim Spalten.l(2)
Dim Sortspalten.l(2)
selected = Space(16384)
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")
Frame3DGadget(10, 5, 100, 580, 350, "Listview", #PB_Frame3D_Double)
fenster.l = GadgetID(10)
; Listview initialisieren und erstellen
lhandle = CreateListview(fenster, 150, 150, RGB(255, 255, 255), -1, $31)
IColumn(lhandle, @spalte1, 240, 0)
IColumn(lhandle, @spalte2, 80, 1)
EndIf
; Listview anzeigen
ShowListview(lhandle, 5, 15, 570, 320)
; Messageverwaltung einschalten
InitMessages(fenster)
Repeat
EventID.l = WaitWindowEvent()
Select EventID
Case #PB_Event_CloseWindow
Quit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 7
Ouit=1
EndSelect
EndSelect
Until Quit = 1
; Messageverwaltung wieder ausschalten
CloseMessages(fenster)
FreeMemory(0)
DestroyWindow_(fenster1)
CloseWindow(0)
CloseLibrary(#lvdll)
./../../references-fonction/xprofan/end/'>End
|
|
|
| |
|
|
|
| @Frank: Das ganze IE-Dateianzeigegeschichtchen ist doch ein LV oder? |
|
|
| |
|
|
|
| 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 Programmi von vorhandenen Bildern Tumbnails erstellen kann ? (hoffentlich habe Io l' 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 supportati 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 Aiuto zur Listview.dll auch nicht.Es scheinen also Profan-Befehle zu sein. Aber auch in dieser Aiuto bin ich nicht fündig geworden. Anscheinen sind das Sendmassage-Befehle. Ich vermute das mal. Also: in welcher Aiuto stehen diese Befehle? Diesen Befehl habe ich in der Listview.dll-Aiuto 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 Programmi von vorhandenen Bildern Tumbnails erstellen kann ? (hoffentlich habe Io l' 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 potuto 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. |
|
|
| |
|
|