how use ListView_SetTextBkColor in pb ?
Posted: Sat Nov 06, 2004 2:32 pm
http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
#CLR_NONE = -1
If OpenWindow(0, 10, 10, 500, 300, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "ListIconGadget BKColor") And CreateGadgetList(WindowID())
ListIconGadget(0, 10, 10, 480, 280, "Column 0", 238)
AddGadgetColumn(0, 1, "Column 1", 238)
AddGadgetItem(0, -1, "C0-R0"+Chr(10)+"C1-R0", 0)
AddGadgetItem(0, -1, "C0-R1"+Chr(10)+"C1-R1", 0)
AddGadgetItem(0, -1, "C0-R2"+Chr(10)+"C1-R2", 0)
AddGadgetItem(0, -1, "C0-R3"+Chr(10)+"C1-R3", 0)
AddGadgetItem(0, -1, "C0-R4"+Chr(10)+"C1-R4", 0)
SendMessage_(GadgetID(0), #LVM_SETBKCOLOR, 0, RGB(255, 255, 200))
SendMessage_(GadgetID(0), #LVM_SETTEXTCOLOR, 0, RGB(0, 128, 255))
SendMessage_(GadgetID(0), #LVM_SETTEXTBKCOLOR, 0, #CLR_NONE)
Repeat
event = WaitWindowEvent()
Until event = #PB_EventCloseWindow
EndIf
EndCode: Select all
; --> Create solid brush1
hBrush1 = CreateSolidBrush_(RGB(255, 255, 200))
; --> Create solid brush2
hBrush2 = CreateSolidBrush_(RGB(100, 0, 200))
Global hBrush1, hBrush2
Procedure.l myWindowCallback(hwnd, msg, wparam, lparam)
result = #PB_ProcessPureBasicEvents
Select msg
Case #WM_CTLCOLORLISTBOX
Select lparam
Case GadgetID(0)
SetBkMode_(wparam, #TRANSPARENT)
SetTextColor_(wparam, RGB(0, 128, 255))
result = hBrush1
Case GadgetID(1)
SetBkMode_(wparam, #TRANSPARENT)
SetTextColor_(wparam, RGB(0, 0, 0))
result = hBrush2
EndSelect
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow(0, 10, 10, 500, 300, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "ListViewGadget Colors") And CreateGadgetList(WindowID())
SetWindowCallback(@myWindowCallback())
ListViewGadget(0, 10, 10, 230, 280)
For row = 0 To 4
AddGadgetItem(0, row, "Row " + Str(row))
Next
ListViewGadget(1, 260, 10, 230, 280)
For row = 0 To 4
AddGadgetItem(1, row, "Row " + Str(row))
Next
Repeat
event = WaitWindowEvent()
Until event = #PB_EventCloseWindow
DeleteObject_(hBrush1)
DeleteObject_(hBrush2)
EndIf
End