Grid Problem [ERLEDIGT]
Verfasst: 08.01.2013 20:57
Hallo Leute,
hab mir ES/EX Grid gekauft und bin zu dämlich um es zu bedien !
Das erstellen des Grids war kein Problen.
jedoch das einfärben der Wochenenden. (Samstage+Sonntage).
Hier das gesamte Listing
und hier die Stelle an der ich versuche die entsprechenden Zellen einzufärben
hat wohl was mit Zeigern zu tun, bin da aber noch nicht so fit.
Und werd's es wohl auch nie werden.
Kann mir bitte jemand helfen
Grüße
Christian
hab mir ES/EX Grid gekauft und bin zu dämlich um es zu bedien !

Das erstellen des Grids war kein Problen.
jedoch das einfärben der Wochenenden. (Samstage+Sonntage).
Hier das gesamte Listing
Code: Alles auswählen
EnableExplicit
XIncludeFile "D:\Program Files (x86)\PureBasic (X86)\Includes\esgrid.pbi"
IncludePath ""
Procedure.l MyCellCallBack(egrid, uMsg, *cellinfo.egridCellInfo)
Protected result
Select uMsg
Case #egrid_cellUpdated
result=1
Case #egrid_SelectCell
result=#True
InvalidateRect_(GadgetID(egrid),0,0)
Case #egrid_LosingFocus
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
EndSelect
ProcedureReturn result
EndProcedure
Procedure Tage_im_Monat(Jahr.i)
If OpenWindow(0, 10, 10, 1650, 900, "Kalender " + Str(Jahr), #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
If PanelGadget(1, 10, 10, 1630,683)
Protected Tage.i, k.i, Ergebnis.i, i.i, Event.i, Quit.i
Protected Tagtext.s
If Jahr % 4 = 0 And (Jahr % 100 <> 0 Or Jahr % 400 = 0) ;auf schaltjahr überprüfen
Tage = 29
Else
Tage = 28
EndIf
Dim Monatstage.i(11) ;array für anzahl der tage
Monatstage(0) = 31
Monatstage(1) = Tage
Monatstage(2) = 31
Monatstage(3) = 30
Monatstage(4) = 31
Monatstage(5) = 30
Monatstage(6) = 31
Monatstage(7) = 31
Monatstage(8) = 30
Monatstage(9) = 31
Monatstage(10) = 30
Monatstage(11) = 31
Dim Monat.s(11) ;array für monatsnamen
Monat(0) = "Januar"
Monat(1) = "Februar"
Monat(2) = "März"
Monat(3) = "April"
Monat(4) = "Mai"
Monat(5) = "Juni"
Monat(6) = "Juli"
Monat(7) = "August"
Monat(8) = "September"
Monat(9) = "Oktober"
Monat(10) = "November"
Monat(11) = "Dezember"
For k = 0 To 11 ;schleife für monate
AddGadgetItem(1, k, Monat(k) ) ;panelgadget beschriftung
egrid_CreateGrid(2+k, 10, 10, 1603, 636, 18,#egrid_NoHeaderButtons|#egrid_GridLines,#egrid_CustomHeader|#egrid_MultiLineText) ;|#egrid_GridLines,#egrid_CustomHeader|#egrid_MultiLineText
egrid_CreateCellCallback(2+k, @MyCellCallBack())
egrid_AddColumn(2+k,0,"Tag",35)
egrid_AddColumn(2+k,1,"",25)
egrid_AddColumn(2+k,2,"Beamer raum 3 is kaputt",120)
egrid_AddColumn(2+k,3,"Beamer raum 2",60)
egrid_AddColumn(2+k,4,"VR",30)
egrid_SetHeaderHeight(2+k,40)
egrid_SetOption(2+k, #egrid_HeaderBorderColour, #Red)
egrid_SetOption(2+k, #egrid_SelectionBorderColour, #Blue)
egrid_SetOption(2+k, #egrid_SelectionBorderWidth, 2)
egrid_SetOption(2+k, #egrid_GridLineColour, #Blue)
SetActiveGadget(2+k)
egrid_AddRows(2+k,-1, Monatstage(k)) ;100 rows.
For i = 1 To Monatstage(k) ;schleife für anzahl der tage
Ergebnis = DayOfWeek(Date (Jahr,1+k,i,0,0,0)) ;aktueller tag ermitteln
Select Ergebnis ;umwandeln in text
Case 0
Tagtext = "So"
Case 1
Tagtext = "Mo"
Case 2
Tagtext = "Di"
Case 3
Tagtext = "Mi"
Case 4
Tagtext = "Do"
Case 5
Tagtext = "Fr"
Case 6
Tagtext = "Sa"
EndSelect
egrid_SetCellText(2+k, 0, i-1, Tagtext)
egrid_SetCellText(2+k, 1, i-1, Str(i))
If Tagtext = "So" Or Tagtext = "Sa"
*cellinfo\backcolour = $A5F4F9
EndIf
Next
Next
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
EndIf
EndProcedure
Tage_im_Monat(2012)
und hier die Stelle an der ich versuche die entsprechenden Zellen einzufärben
Code: Alles auswählen
If Tagtext = "So" Or Tagtext = "Sa"
*cellinfo\backcolour = $A5F4F9
EndIf
Und werd's es wohl auch nie werden.

Kann mir bitte jemand helfen
Grüße
Christian