Code: Select all
#Gadget_VorgabenSL_L_Pflicht = 1
#Gadget_VorgabenSL_L_AnzahlPU = 2
#Gadget_VorgabenSL_F_KlassePU = 3
Procedure.l eGrid_VorgabeFach(egrid, uMsg, *cellinfo.egridCellInfo)
Protected result
Select uMsg
Case #egrid_CellUpdated ;{
Debug *cellinfo\text
result = #True ;}
Case #egrid_SelectCell ;{
RedrawWindow_(GadgetID(egrid), 0, 0, #RDW_INTERNALPAINT|#RDW_ERASE|#RDW_INVALIDATE)
result = #True
If *cellinfo\param = #egrid_LeftClick
egridID = egrid
egrid_HideEdit(egrid) ;Hides the selection border.
egrid_SelectCell(egrid, *cellinfo\column, *cellinfo\Row, #True) ;Selects the cell in 'edit mode'.
result = #False ; No point getting the Egrid to select the cell as well.
EndIf
;}
Case #egrid_FormatCell ;{
If *cellinfo\Row = egrid_SelectedRow(egrid)
*cellinfo\backcolour = RGB($F0,$F0,$FF)
EndIf
Select *cellinfo\column
Case 0
*cellinfo\forecolour = RGB(0,64,128) ; dunkelblauer Text
Case 1
*cellinfo\textjustification = #egrid_CenterText
EndSelect
;}
Case #egrid_LosingFocus ;{ Kein Focus mehr
result=#True
RedrawWindow_(GadgetID(egrid), 0, 0, #RDW_INTERNALPAINT|#RDW_ERASE|#RDW_INVALIDATE)
;}
Default
result = #True
EndSelect
ProcedureReturn result
EndProcedure
Procedure.l eGrid_VorgabeAnzahl(egrid, uMsg, *cellinfo.egridCellInfo)
Protected result
Select uMsg
Case #egrid_CellUpdated ;{
result = #True ;}
Case #egrid_SelectCell ;{
RedrawWindow_(GadgetID(egrid), 0, 0, #RDW_INTERNALPAINT|#RDW_ERASE|#RDW_INVALIDATE)
result = #True
If *cellinfo\param = #egrid_LeftClick
egridID = egrid
egrid_HideEdit(egrid) ;Hides the selection border.
egrid_SelectCell(egrid, *cellinfo\column, *cellinfo\Row, #True) ;Selects the cell in 'edit mode'.
result=#False ;No point getting the Egrid to select the cell as well.
EndIf
;}
Case #egrid_FormatCell ;{
If *cellinfo\Row = egrid_SelectedRow(egrid)
*cellinfo\backcolour = RGB($F0,$F0,$FF)
EndIf
Select *cellinfo\column
Case 0
*cellinfo\forecolour = RGB(0,64,128) ; dunkelblauer Text
EndSelect
;}
Case #egrid_LosingFocus ;{ Kein Focus mehr
result=#True
RedrawWindow_(GadgetID(egrid), 0, 0, #RDW_INTERNALPAINT|#RDW_ERASE|#RDW_INVALIDATE)
;}
Default
result = #True
EndSelect
ProcedureReturn result
EndProcedure
If OpenWindow(0,211,132,425,390,"Test eGrid",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
egrid_CreateGrid(#Gadget_VorgabenSL_L_Pflicht,10,10,215,305,19, #egrid_GridLines|#egrid_AlwaysShowSelection, #egrid_ResizeColumnsFalse)
egrid_CreateCellCallback(#Gadget_VorgabenSL_L_Pflicht, @eGrid_VorgabeFach()) ; Callback für Grid
egrid_SetHeaderHeight(#Gadget_VorgabenSL_L_Pflicht, 21)
egrid_SetOption(#Gadget_VorgabenSL_L_Pflicht, #egrid_SelectionBorderColour, RGB(0,64,128))
egrid_AddColumn(#Gadget_VorgabenSL_L_Pflicht, 0, "Fach", 150)
egrid_AddColumn(#Gadget_VorgabenSL_L_Pflicht, 1, "Abk.", 60)
egrid_AddColumn(#Gadget_VorgabenSL_L_Pflicht, 2, "Anz.", 0)
egrid_CreateGrid(#Gadget_VorgabenSL_L_AnzahlPU,245,30,135,250,19, #egrid_GridLines|#egrid_AlwaysShowSelection, #egrid_ResizeColumnsFalse)
egrid_CreateCellCallback(#Gadget_VorgabenSL_L_AnzahlPU, @eGrid_VorgabeAnzahl()) ; Callback für Grid
egrid_SetHeaderHeight(#Gadget_VorgabenSL_L_AnzahlPU, 21)
egrid_SetOption(#Gadget_VorgabenSL_L_AnzahlPU, #egrid_SelectionBorderColour, RGB(0,64,128))
egrid_AddColumn(#Gadget_VorgabenSL_L_AnzahlPU, 0, "Bezeich.", 60)
egrid_AddColumn(#Gadget_VorgabenSL_L_AnzahlPU, 1, "Schülerzahl", 70)
Frame3DGadget(#Gadget_VorgabenSL_F_KlassePU,235,10,155,305,"Klasse / Gruppe")
egrid_AddRows(#Gadget_VorgabenSL_L_Pflicht,-1, 5)
egrid_AddRows(#Gadget_VorgabenSL_L_AnzahlPU,-1, 5)
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
EndSelect
Until EventID = #PB_Event_CloseWindow
EndIf
End