ListIconGadget Background-Image beim scrollen
Verfasst: 05.02.2005 14:51
Hallo!
Ich habe ein ListIconGadget, dem ich mit El_Chonis Code auch erfolgreich ein Hintergrundbild zugeweisen habe. Leider ist es nun so, dass bei vielen Einträgen, bei denen im ListiconGadget gescrollt werden muss, das Hintergrundbild nicht mit scrollt. Irgendwann bin ich dann also an dem Punkt, wo kein Bild mehr im Hintergund zu sehen ist. Nun gibt es zwar die Möglichkeit ein Flag zu setzen, bei dem dann das immer wiederholt wird, sodass ich beim Scrollen immer etwas im Hintergrund habe, nur leider bringt mir das nichts.
Ich hätte gern, dass das Bild, welches ich im Hintergund habe immer sichtbar ist und auch beim scollen immer der selbe Bereich des Bildes zu sehen ist. Also so, dass nur die Schrift über dem Bild gescrollt wird, aber das Bild im Hintergund immer zu sehen ist.
Gibt es dort eine Möglichkeit, um das zu bewerkstelligen? Ich würde mich über Hilfe sehr freuen.
Danke,
Christian
PS: Hier der Code von EL_Choni:
Ich habe ein ListIconGadget, dem ich mit El_Chonis Code auch erfolgreich ein Hintergrundbild zugeweisen habe. Leider ist es nun so, dass bei vielen Einträgen, bei denen im ListiconGadget gescrollt werden muss, das Hintergrundbild nicht mit scrollt. Irgendwann bin ich dann also an dem Punkt, wo kein Bild mehr im Hintergund zu sehen ist. Nun gibt es zwar die Möglichkeit ein Flag zu setzen, bei dem dann das immer wiederholt wird, sodass ich beim Scrollen immer etwas im Hintergrund habe, nur leider bringt mir das nichts.
Ich hätte gern, dass das Bild, welches ich im Hintergund habe immer sichtbar ist und auch beim scollen immer der selbe Bereich des Bildes zu sehen ist. Also so, dass nur die Schrift über dem Bild gescrollt wird, aber das Bild im Hintergund immer zu sehen ist.
Gibt es dort eine Möglichkeit, um das zu bewerkstelligen? Ich würde mich über Hilfe sehr freuen.
Danke,
Christian
PS: Hier der Code von EL_Choni:
Code: Alles auswählen
; English forum: http://purebasic.myforums.net/viewtopic.php?t=5208&highlight=
; Author: El_Choni
; Date: 25. February 2003
#LVBKIF_SOURCE_NONE = 0
#LVBKIF_SOURCE_HBITMAP = 1
#LVBKIF_SOURCE_URL = 2
#LVBKIF_SOURCE_MASK = 3
#LVBKIF_STYLE_NORMAL = 0
#LVBKIF_STYLE_TILE = $10
#LVBKIF_STYLE_MASK = $10
#LVM_SETBKIMAGE = #LVM_FIRST + 68
#LVM_SETBKIMAGEW = #LVM_FIRST + 138
#LVM_GETBKIMAGE = #LVM_FIRST + 69
#LVM_GETBKIMAGEW = #LVM_FIRST + 139
#CLR_NONE = -1
Structure LVBKIMAGE
ulFlags.l
hbm.l
pszImage.l
cchImageMax.l
xOffsetPercent.l
yOffsetPercent.l
EndStructure
OleInitialize_(0)
If OpenWindow(0, 384, 288, 640, 480, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget, "ListIconGadget background image example")
LVWidth = WindowWidth()
LVCWidth = Int(LVWidth/4)-1
If CreateGadgetList(WindowID())
ListIconGadget = ListIconGadget(0, 0, 0, LVWidth, WindowHeight(), "Column 0", LVCWidth, #PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
AddGadgetColumn(0, 1, "Column 1", LVCWidth)
AddGadgetColumn(0, 2, "Column 2", LVCWidth)
AddGadgetColumn(0, 3, "Column 3", LVCWidth)
For a = 0 To 50
AddGadgetItem(0, a, "Abb "+Str(a)+Chr(10)+"Baa "+Str(a)+Chr(10)+"Ccd "+Str(a)+Chr(10)+"Dee "+Str(a)+Chr(10), 0)
Next
SendMessage_(ListIconGadget, #LVM_SETTEXTCOLOR, 0, $ff0000)
SendMessage_(ListIconGadget, #LVM_SETBKCOLOR, 0, #CLR_NONE)
SendMessage_(ListIconGadget, #LVM_SETTEXTBKCOLOR, 0, #CLR_NONE)
Buffer = AllocateMemory(512)
GetModuleFileName_(GetModuleHandle_(0), Buffer, 512)
InitialDir$ = GetPathPart(PeekS(Buffer))
FreeMemory(0)
File$ = OpenFileRequester("Select image", InitialDir$, "ListIcon supported images|*.bmp;*.ico;*.gif;*.jpg;*.wmf;*.emf", 0)
If File$
lbk.LVBKIMAGE
lbk\ulFlags = #LVBKIF_STYLE_NORMAL | #LVBKIF_SOURCE_URL
lbk\pszImage = @File$
lbk\xOffsetPercent = 50
lbk\yOffsetPercent = 50
SendMessage_(ListIconGadget, #LVM_SETBKIMAGE, 0, lbk)
EndIf
Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
EndIf
EndIf
OleUninitialize_()
End