23/04/2024
Windev et les Api Windows
Nb de visiteurs en ligne : 6
>> Introduction <<
>> Codes et Forum <<
>> Download <<
Rubrique
: 4 - Windows Common Controls
Sujet
: Date and Time Picker Controls
Auteur
Message
°¨¨ JL ¨¨°
Posté le : 23/06/2000 12:00:00
// La procédure suivante affiche un 'combobox' qui permet de choisir une date :
Procédure datetime(datetr, px, py, larg, haut)
ICC_DATE_CLASSES est un entier long = 0x00000100
initcont est compose de
size est un entier long
typec est un entier long
fin
initcont.size=8
initcont.typec=ICC_DATE_CLASSES
si pas appeldll32("comctl32.dll","InitCommonControlsEx",&initcont) alors ferme()
dts_longdateformat est un entier long = 0x4
style est un entier long= 0x50000000 + dts_longdateformat
hwndw=AppelDLL32("user32","CreateWindowExA",0 ,"SysDateTimePick32","", style, px, py, larg, haut, handle(), null, instance(), NULL)
dtm_first est un entier long = 0x1000
systemtime.wyear=val(datetr[[a 4]])
systemtime.wmonth=val(datetr[[5 a 6]])
systemtime.wday=val(datetr[[7 a 8]])
sendmessage(hwndw,0x1000+2,0,&systemtime) // mcm_first (0x1000) + mcm_setsystemtime (0x2)
// A l'ouverture de la fenêtre :
global
hwndw est un entier long
systemtime est compose de
wYear est un entier
wMonth est un entier
wDayOfWeek est un entier
wDay est un entier
wHour est un entier
wMinute est un entier
wSecond est un entier
wMilliseconds est un entier
fin
datetime(datesys(),50,20,175,22)
si pas hwndw alors
erreur("Création Calendrier Impossible")
fin
// A la fermeture de la fenêtre :
appeldll32("user32","DestroyWindow",hwndw)
// Pour récupérer la date :
sendmessage(hwndw,0x1000+1,0,&systemtime)
info(systemtime.wday+"/"+systemtime.wmonth+"/"+systemtime.wyear)
// Si vous voulez limiter la sélection de date à une période donnée :
systt est compose de
wYear est un entier
wMonth est un entier
wDayOfWeek est un entier
wDay est un entier
wHour est un entier
wMinute est un entier
wSecond est un entier
wMilliseconds est un entier
xYear est un entier
xMonth est un entier
xDayOfWeek est un entier
xDay est un entier
xHour est un entier
xMinute est un entier
xSecond est un entier
xMilliseconds est un entier
fin
// limite : année 2001
systt.wyear=2001
systt.wmonth=01
systt.wday=01
systt.xyear=2001
systt.xmonth=12
systt.xday=31
sendmessage(hwndw,0x1000+4,3,&systt)