23/04/2024
Windev et les Api WindowsNb 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)