Kann mir jemand sagen wie ich ein Foto in einer bestimmten Spalte eines Listicon einbaue.
Zwar schaffe ich es ein Image in der gewünschten Zeile einzubauen aber das Image ist dann immer in der ersten Spalte!
Bild in bestimmter Spalte eines listicon einbauen
-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Bild in bestimmter Spalte eines listicon einbauen
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
-
- Beiträge: 328
- Registriert: 06.06.2013 20:37
- Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10
Re: Bild in bestimmter Spalte eines listicon einbauen
Habe versucht es in mein Programm einzubauen aber bekomme es nicht zu laufen.
Hier sind mal die pbf, pb und die csv die ich einlese.
Für einen Test müsste ich noch ein bmp mit anhängen geht ja aber so nicht.
Vielleicht kannst du mir da einen Tip geben, wo der Fehler liegt, was den Einbau eines bmp in der Spalte 4 angeht.
Möchte die Bilder am liebsten in der Zeile:
---------
AddGadgetItem(ListIcon_teile, -1, msg$,ImageID(0))
----------
gleich mit einbauen.
Kalul_2014.pbf
Kalkul_2014.pb
Hier ein paar Zeilen aus der "preise-bauteile.csv"
Hier sind mal die pbf, pb und die csv die ich einlese.
Für einen Test müsste ich noch ein bmp mit anhängen geht ja aber so nicht.
Vielleicht kannst du mir da einen Tip geben, wo der Fehler liegt, was den Einbau eines bmp in der Spalte 4 angeht.
Möchte die Bilder am liebsten in der Zeile:
---------
AddGadgetItem(ListIcon_teile, -1, msg$,ImageID(0))
----------
gleich mit einbauen.
Kalul_2014.pbf
Code: Alles auswählen
Global Window_0
Global Panel_0, ListIcon_teile, Button_ende, Button_1
Enumeration FormFont
#Font_Window_0_0
EndEnumeration
LoadFont(#Font_Window_0_0,"Tahoma", 10)
Declare teilelesen(EventType)
Declare ende(EventType)
Procedure OpenWindow_0(x = 0, y = 0, width = 885, height = 425)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "KALKUL 2014 Bauteilekalkulationsprogramm", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
Panel_0 = PanelGadget(#PB_Any, 5, 5, 875, 320)
AddGadgetItem(Panel_0, -1, "Bauteiledatenbank")
ListIcon_teile = ListIconGadget(#PB_Any, 5, 35, 865, 253, "Nr.", 50, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect | #PB_ListIcon_LargeIcon)
AddGadgetColumn(ListIcon_teile, 1, "Bezeichnung", 400)
AddGadgetColumn(ListIcon_teile, 2, "Preis", 50)
AddGadgetColumn(ListIcon_teile, 3, "Foto", 100)
AddGadgetColumn(ListIcon_teile, 4, "Lieferant", 100)
AddGadgetColumn(ListIcon_teile, 5, "BestellNr", 100)
AddGadgetColumn(ListIcon_teile, 6, "Bestand", 60)
SetGadgetFont(ListIcon_teile, FontID(#Font_Window_0_0))
CloseGadgetList()
Button_ende = ButtonGadget(#PB_Any, 485, 370, 100, 25, "beenden")
Button_1 = ButtonGadget(#PB_Any, 180, 350, 100, 25, "teilelesen")
EndProcedure
Procedure Window_0_Events(event)
Select event
Case #PB_Event_CloseWindow
ProcedureReturn #False
Case #PB_Event_Menu
Select EventMenu()
EndSelect
Case #PB_Event_Gadget
Select EventGadget()
Case Button_ende
ende(EventType())
Case Button_1
teilelesen(EventType())
EndSelect
EndSelect
ProcedureReturn #True
EndProcedure
Code: Alles auswählen
EnableExplicit
IncludeFile "kalkul_2014.pbf"
Define event, EventGadget, EventType, EventMenu, EventWindow, prglauf
Structure teileliste
nr.i
gruppe.s
bild.s
bez.s
preis.f
lieferant.s
bestnr.s
lbestand.i
EndStructure
NewList teile.teileliste()
Structure fertigteileliste
nr.i
bild.s
bez.s
preis.f
lbestand.i
EndStructure
NewList fertigteile.fertigteileliste()
OpenWindow_0()
; ----- hier etwas das sofort beim Start erledigt werden soll eintragen
Repeat
Event = WaitWindowEvent()
EventGadget = EventGadget()
EventType = EventType()
EventMenu = EventMenu()
EventWindow = EventWindow()
prglauf=Window_0_Events(Event)
Until prglauf=#False
End
;-------- ab hier die Proceduren für Buttons, etc. -----------------
Procedure ende(EventType)
EndProcedure
Procedure SetGadgetItemIcon(iGadgetNr.i, iRow.i, iCol.i, iIcon.i, iSet.i)
Protected lvi.lv_item
lvi\mask = #LVIF_IMAGE
lvi\iItem = iRow ; row number for change
lvi\iSubItem = iCol ; 2nd subitem
lvi\pszText = #Null ; text to change to
If iSet
lvi\iImage = iIcon ; Icon setzen
Else
lvi\iImage = -1 ; Icon löschen
EndIf
SendMessage_(GadgetID(iGadgetNr), #LVM_SETITEM, 0, @lvi)
EndProcedure
Procedure teilelesen(EventType)
Define zeile$, msg$, nr, foto$
nr = 1
foto$ = "-"
LoadImage(0, "widerstand.bmp")
If ReadFile(0, "preise-bauteile.csv") ; wenn die Datei geöffnet werden konnte, setzen wir fort...
While Eof(0) = 0 ; sich wiederholende Schleife bis das Ende der Datei ("end of file") erreicht ist
zeile$ = ReadString(0) ; Zeile für Zeile im Debugger-Fenster anzeigen
zeile$ = ReplaceString(zeile$,Chr(34),"")
msg$ = Str(nr) + Chr(10) + ReplaceString(zeile$,";",Chr(10))
; Hinzufügen der Zeile zum Listen-Gadget.
AddGadgetItem(ListIcon_teile, -1, msg$,ImageID(0))
nr = nr +1
Wend
CloseFile(0) ; schließen der zuvor geöffneten Datei
SetGadgetItemIcon(ListIcon_teile,4,4,ImageID(0),#True)
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
EndProcedure
Code: Alles auswählen
"Steckboard";2,95;;"Reichelt";"STECKBOARD 1K2V"
"Mignonaccu AA";2,24;;"onlinehandel";"0083-1"
"Kupferdraht versilbert 1mm";2,55;;"Reichelt";"silber 1,0mm"
"Schweißdraht 1 mm Länge 1m";0,14;;"Fau";"M0500"
"Schweißdraht 2 mm Länge 1m";0,15;;"Fau";"M0510"
"Platine, Epoxyd, einseitig, 160x100mm";1,5;;"Reichelt";"EPCU 160X100"
"Halter für 4 Mignonzellen AA";0,28;;"Reichelt";"Halter 4XUM3-QDK"
"Batterieclip 9V";0,35;;"Reichelt";"Halter 9V"
"Mignonzellen Paket mit 40 Stk.";8,5;;"Reichelt";"ANS AL 40 Pack"
"Renata Knopfzelle, 3 Volt, 210 mAh, 20,0x3,2mm";0,95;;"Reichelt";"CR 2032 REN"
"Prüfkabel mit Krokoklemmen (10Kabel)";1,1;;"Reichelt";"MK 612S"
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck