Page 1 sur 1
CalendarGadget (Enlever les deux boutons)
Publié : mar. 31/janv./2012 17:26
par MLD
Bonjour a tous
Pour une application j'aimerai pouvoir enlever les deux boutons de changement de date.
Il me semble que LSI a travaillé sur le sujet des "CalendarGadget" une petite aide serait la bienvenue.
Je suis aussi preneur de l'ensemble des "API" sur le sujet.
Merci.
Michel
Re: CalendarGadget (Enlever les deux boutons)
Publié : mar. 31/janv./2012 19:11
par kernadec
salut MLD
Dans code archive il y a ce code...
Cordialement
Code : Tout sélectionner
; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=2997&highlight=
; Author: Andreas (updated for PB4.00 by blbltheworm)
; Date: 03. December 2003
; OS: Windows
; Demo: No
#MCM_GETCURSEL = $1001
#Auswahl=1
#Abbruch = 2
Structure InitCommon
dwSize.l
dwICC.l
EndStructure
my.InitCommon
my\dwSize = 8
my\dwICC = $100
InitCommonControlsEx_(@my)
hWnd=OpenWindow(0,0,0,640,480.0,"API-Kalender",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If hWnd=0 Or CreateGadgetList(hWnd)=0:End:EndIf
hCal=CreateWindowEx_(0,"SysMonthCal32","Kalender",#WS_CHILD|#WS_VISIBLE,10,80,600,300,hWnd,0,GetModuleHandle_(0),0)
;ein wenig Farbe ins Spiel bringen
SendMessage_(hCal,4106,0,$800000);MCM_SC_BACKGROUND
SendMessage_(hCal,4106,4,$800000);MCM_SC_MONTHBACK
SendMessage_(hCal,4106,2,$0000FF);MCM_SC_TITEL
SendMessage_(hCal,4106,1,$00FFFF);MCM_SC_TEXT
SendMessage_(hCal,4106,3,$00FFFF);MCM_SC_TITELTEXT
ButtonGadget(#Auswahl,10,10,50,20,"Datum")
ButtonGadget(#Abbruch,10,40,50,20,"Abbruch")
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Auswahl
SendMessage_(hCal,#MCM_GETCURSEL,0,@time.SYSTEMTIME )
year=time\wYear
month=time\wMonth
day=time\wDay
info.s = Str(day)+"."+Str(month)+"."+Str(year)
MessageRequester("",info,0)
Case #Abbruch
End
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
End
Re: CalendarGadget (Enlever les deux boutons)
Publié : mer. 01/févr./2012 9:43
par MLD
Merci Kernadec
Je regarde ceci, mais il doit avoir plus complet
Re: CalendarGadget (Enlever les deux boutons)
Publié : mer. 01/févr./2012 17:17
par Mesa
Je pense que la solution se trouve dans l'étude de cette page :
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
MCGIP_NEXT:The next button.
MCGIP_PREV:The previous button.
Mesa.
Re: CalendarGadget (Enlever les deux boutons)
Publié : jeu. 02/févr./2012 3:28
par kernadec
bonjour MLD
peut être cette solution?
Cordialement
Code : Tout sélectionner
OpenWindow(0, 0, 0, 226, 124, " CALENDRIER ", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowColor(0,$DCDCDC)
CalendarGadget(1,2,2,220,118)
DisableGadget(1, 1)
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
Re: CalendarGadget (Enlever les deux boutons)
Publié : jeu. 02/févr./2012 10:38
par Backup
petite variante !
Code : Tout sélectionner
Enumeration
#window
#canvas
#calendrier
EndEnumeration
OpenWindow(#window, 0, 0, 226, 200, " CALENDRIER ", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowColor(#window,$DCDCDC)
CalendarGadget(#calendrier,2,2,220,200)
CanvasGadget(#canvas,0,0,226,40)
DisableGadget(#calendrier, 1)
jour.s="Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi "
StartDrawing(CanvasOutput(#canvas))
Box(0,0,226,25,rgb(0,0,0))
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
jour$=stringfield(jour.s,DayOfWeek(Date())+1," ")
DrawText(0,0,jour$+" "+date$)
StopDrawing()
Repeat:Until WaitWindowEvent()=#PB_Event_CloseWindow
[reedit] petite correction
code un peu plus "propre"
Code : Tout sélectionner
Enumeration
#window
#canvas
#calendrier
EndEnumeration
Declare calendar_sans_bouton()
OpenWindow(#window, 0, 0, 226, 200, " CALENDRIER ", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetWindowColor(#window,$DCDCDC)
calendar_sans_bouton()
Repeat
Until WaitWindowEvent()=#PB_Event_CloseWindow
procedure calendar_sans_bouton()
if IsGadget(#calendrier)=0
CalendarGadget(#calendrier,2,2,220,200)
CanvasGadget(#canvas,0,0,226,40)
DisableGadget(#calendrier, 1)
else
jour.s="Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi "
StartDrawing(CanvasOutput(#canvas))
Box(0,0,226,25,rgb(0,0,0))
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
jour$=stringfield(jour.s,DayOfWeek(Date())+1," ")
DrawText(0,0,jour$+" "+date$)
StopDrawing()
endif
endprocedure
;EBP
Re: CalendarGadget (Enlever les deux boutons)
Publié : jeu. 02/févr./2012 11:04
par MLD
Merci a tous.
Il semble que ce gadget, qui en fait est une lib incluse dans window ne coresponde pas a ce que je cherche,impossible d'inclure les jours feriers, alarme ect.
Je vais donc programmer un calendrier a ma "sauce"
Re: CalendarGadget (Enlever les deux boutons)
Publié : jeu. 02/févr./2012 13:25
par Ar-S
Je suis en plein dans la gestion de calendrier aussi. Je refais entièrement
mon logiciel de gestion d'anniv pour le rendre plus : joli/simple/paramétrable pour faire un pense bête vers tous les évènements, pas seulement anniv et fête.
Preview :
Si tu souhaites partager tes travaux concernant un calendar perso, fais moi signe.
Re: CalendarGadget (Enlever les deux boutons)
Publié : ven. 03/févr./2012 11:02
par MLD
Bonjour Ar-S
En fait ce que je cherche a programmer , c'est un agenda, pour prises de rendez-vous. Un peu comme les éphémérides qui sont sur les bureaux.
Je mettrais ce code sur le fofo pour la partie calendrier. Pour l'ensemble si cela t'intérêsse, je te le donnerais en MP.
Le projet avance
Michel
Re: CalendarGadget (Enlever les deux boutons)
Publié : ven. 03/févr./2012 11:23
par Ar-S
MLD a écrit :Bonjour Ar-S
En fait ce que je cherche a programmer , c'est un agenda, pour prises de rendez-vous. Un peu comme les éphémérides qui sont sur les bureaux.
Je mettrais ce code sur le fofo pour la partie calendrier. Pour l'ensemble si cela t'intérêsse, je te le donnerais en MP.
Le projet avance
Michel
Avec plaisir.
Vas-tu partir avec du SQlite ou simplement utiliser du fichier texte ? (commande pref native ?)
Je n'ai pas encore trouvé la méthode la plus pertinente de "classement des données" en pref classique, je testerai l'utilisation de sqlite pour croiser les données si je n'arrive à rien en préférence classique.
Re: CalendarGadget (Enlever les deux boutons)
Publié : ven. 03/févr./2012 11:50
par MLD
@ Ar-s
SQlite trop lourd pour une petite appli comme celle-ci. J'ai une autre méthode.

Re: CalendarGadget (Enlever les deux boutons)
Publié : ven. 03/févr./2012 21:52
par Le Soldat Inconnu
Moi, pour mon agenda, je gère de la préférence classique. C'est bien plus simple. Et ma BDD est sous forme de liste chainée
