Posted: Wed Apr 08, 2009 6:15 pm
thanks! 

http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
SendMessage_(GadgetID(#egrid), #LVM_SETCOLUMNWIDTH, lastcolindex+1, #LVSCW_AUTOSIZE_USEHEADER)
Code: Select all
for i = 1 to numCols
SendMessage_(GadgetID(#egrid), #LVM_SETCOLUMNWIDTH, i, #LVSCW_AUTOSIZE_USEHEADER)
next
Thank you, Stephen, SetGatdgetItemAttribute works fine with your egrid. But why should i add 1 to the column index?srod wrote:Just remember to add 1 to the coumn index before using SetGadgetItemAttribute() etc.
That is explained somewhere in the manual!univeda wrote:Thank you, Stephen, SetGatdgetItemAttribute works fine with your egrid. But why should i add 1 to the column index?
Code: Select all
Procedure.i egridCellCallBack(egrid, uMsg, *cellinfo.egridCellInfo)
Protected result
Select uMsg
Case #egrid_HeaderItemClick
;Debug "From CellCallback function: column " + Str(*cellinfo\column) + " clicked."
Case #egrid_FormatCell
If *cellinfo\row = -1 ;Custom header.
*cellinfo\textjustification = #egrid_centerText
Else
If *cellinfo\row % 2 ;Alternating rowColor
*cellinfo\backcolour = RGB($E3, $F1, $FF)
*cellinfo\forecolour = #Black
Else
*cellinfo\backcolour = #White
EndIf
EndIf
Default
result = #True
EndSelect
ProcedureReturn result
EndProcedure
I always do!univeda wrote:Works fine. Your esgrid is really very flexible. Keep up the good work!
Code: Select all
Case #egrid_FormatCell
If *cellinfo\row<>-1 And *cellinfo\row=egrid_SelectedRow(1)
*cellinfo\backcolour = #Blue
EndIf
Code: Select all
InvalidateRect_(GadgetID(egrid),0,0)
Code: Select all
IncludePath "..\Source\"
XIncludeFile "EsGRID.pbi"
IncludePath ""
Procedure.l MyCellCallBack(egrid, uMsg, *cellinfo.egridCellInfo)
Protected result
Select uMsg
Case #egrid_SelectCell
result=#True
InvalidateRect_(GadgetID(egrid),0,0)
Case #egrid_LosingFocus
result=#True
InvalidateRect_(GadgetID(egrid),0,0)
Case #egrid_FormatCell
If *cellinfo\row<>-1 And *cellinfo\row=egrid_SelectedRow(egrid)
*cellinfo\backcolour = $A5F4F9
EndIf
Default
result = #True ;This accounts for all messages we have decided not to process.
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow(0,0,0,640,300,"EsGRID demo.",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_Maximize|#PB_Window_ScreenCentered)
egrid_CreateGrid(1, WindowWidth(0)/4, WindowHeight(0)/8, WindowWidth(0)/2, WindowHeight(0)/2,26,#egrid_GridLines|#egrid_AlwaysShowSelection, #egrid_ResizeColumnsTrue|#egrid_MultiLineText)
egrid_CreateCellCallback(1, @MyCellCallBack())
egrid_SetHeaderHeight(1, 42)
egrid_setOption(1, #egrid_SelectionBorderColour, #Black)
egrid_setOption(1, #egrid_SelectionBorderWidth, 2)
For b=0 To 4 ;5 columns.
egrid_AddColumn(1,b,"Col " + Str(b),60)
Next
egrid_AddRows(1,-1, 100)
Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_Event_CloseWindow
EndIf
Code: Select all
egrid_setOption(1, #egrid_SelectionBorderWidth, 2)
Code: Select all
egrid_setOption(1, #egrid_SelectionBorderWidth, 0)
Code: Select all
Case #egrid_GetCellTooltip
*cellinfo\text = eGrid_GetCellText(egrid, *cellinfo\column, *cellinfo\row)
result = #True
Code: Select all
*pointer\ttip = CreateWindowEx_(0, "Tooltips_Class32", "", #TTS_ALWAYSTIP, 0, 0, 0, 0, 0, 0, 0, 0)
Code: Select all
*pointer\ttip = CreateWindowEx_(0, "Tooltips_Class32", "", #TTS_ALWAYSTIP|#TTS_NOPREFIX, 0, 0, 0, 0, 0, 0, 0, 0)