Mini pendule numérique en 30 lignes

Informations pour bien débuter en PureBasic
Marc56
Messages : 2197
Inscription : sam. 08/févr./2014 15:19

Mini pendule numérique en 30 lignes

Message par Marc56 »

Exemple de mini pendule numérique.
  • Bouton gauche pour déplacer
  • Clic droit pour fermer
Facile à modifier.

Code : Tout sélectionner

EnableExplicit

Enumeration 
    #Win
    #Timer
    #Txt_Timer
EndEnumeration

OpenWindow(#Win, 0, 0, 120, 28, "", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
AddWindowTimer(#Win, #Timer, 1000)
TextGadget    (#Txt_Timer, 0, 0, WindowWidth(#Win), WindowHeight(#Win), "", #PB_Text_Center)
SetGadgetColor(#Txt_Timer, #PB_Gadget_BackColor, RGB(173, 255, 47))
SetGadgetFont (#Txt_Timer, FontID(LoadFont(#PB_Any, "Verdana", 16, #PB_Font_Bold)))

Repeat
    Select WaitWindowEvent()
        Case #PB_Event_Timer
            If EventTimer() = #Timer
                SetGadgetText(#Txt_Timer, FormatDate("%hh:%ii:%ss", Date()))
            EndIf
            
        Case #WM_LBUTTONDOWN
            SendMessage_(WindowID(#Win), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
            
        Case #PB_Event_RightClick
            End
    EndSelect
ForEver

End
Oui, SPH ce sera intégré à la prochaine version. :wink:
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Mini pendule numérique en 30 lignes

Message par falsam »

SPH va être content 😉
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Mini pendule numérique en 30 lignes

Message par Ar-S »

La même en non blocante si on bouge la fenêtre et en affichage dès qu'elle s'ouvre (pas au bout de la 1ère seconde)

Code : Tout sélectionner

Enumeration 
    #Win
    #Timer
    #Txt_Timer
EndEnumeration


Procedure ShowTime()
  SetGadgetText(#Txt_Timer, FormatDate("%hh:%ii:%ss", Date()))
EndProcedure

Procedure MoveWin()
    SendMessage_(WindowID(#Win), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
EndProcedure
          
OpenWindow(#Win, 0, 0, 120, 28, "", #PB_Window_BorderLess | #PB_Window_ScreenCentered)
StickyWindow(#win,1)
TextGadget    (#Txt_Timer, 0, 0, WindowWidth(#Win), WindowHeight(#Win), "", #PB_Text_Center)
SetGadgetColor(#Txt_Timer, #PB_Gadget_BackColor, RGB(173, 255, 47))
SetGadgetFont (#Txt_Timer, FontID(LoadFont(#PB_Any, "Verdana", 16, #PB_Font_Bold)))
SetGadgetText(#Txt_Timer, FormatDate("%hh:%ii:%ss", Date()))
AddWindowTimer(#Win, #Timer, 1000)
BindEvent(#PB_Event_Timer,@showTime())

Repeat
  ev = WaitWindowEvent()
  
  If ev = #WM_LBUTTONDOWN
    MoveWin()
  EndIf
  
Until ev = #PB_Event_RightClick

End
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4945
Inscription : mer. 09/nov./2005 9:53

Re: Mini pendule numérique en 30 lignes

Message par SPH »

Hi !

Ouai, je suis content. Je pourrais presque n'utiliser que ce code; cela me conviendrait. :P

Je patienterais quand meme jusqu'a l'ajout dans ACME. Pis ya le calendrier qui m'interesse...

THX :idea: :arrow: :mrgreen:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre