Je viens de me rendre compte que la prise en charge de la mesure de l'épaisseur de la bordure ne fonctionne qu'à partir de vista ! Donc pas sous Xp.
Je ne sais pas si ce code fonctionne :
Code : Tout sélectionner
;#MCM_GETMINREQRECT
#cal=100
#cal2=101
; MCM_FIRST := 0x1000
; MCM_GETCALENDARBORDER := (MCM_FIRST + 31)
MCM_GETCALENDARBORDER = #MCM_FIRST + 31 ; qu'à partir de vista ! ! !
Taille.RECT
Taille2.RECT
If OpenWindow(0, 0, 0, 550, 300, "CalendarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(#cal, 0, 0, 20, 18)
CalendarGadget(#cal2, 300, 0, 20, 18, date,#PB_Calendar_Borderless )
;Debug GadgetWidth(#cal)
SendMessage_(GadgetID(#cal),#MCM_GETMINREQRECT,0,Taille)
SendMessage_(GadgetID(#cal2),#MCM_GETMINREQRECT,0,Taille2)
bordure= SendMessage_(GadgetID(#cal),MCM_GETCALENDARBORDER,0,0)
; Debug Taille\left
; Debug Taille\right
; Debug Taille\top
; Debug Taille\bottom
ResizeGadget(#cal,#PB_Ignore ,#PB_Ignore ,Taille\right + bordure,Taille\bottom + bordure)
ResizeGadget(#cal2,#PB_Ignore ,#PB_Ignore ,Taille2\right,Taille2\bottom)
; Debug Taille2\left
; Debug Taille2\right
; Debug Taille2\top
; Debug Taille2\bottom
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Les valeurs des constantes que j'ai utilisées sont ici
http://www.autohotkey.com/forum/viewtop ... 156#469156