PureBasic

Forums PureBasic
Nous sommes le Lun 17/Juin/2019 11:56

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 9 messages ] 
Auteur Message
 Sujet du message: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 10:57 
Hors ligne

Inscription: Jeu 05/Fév/2009 17:58
Messages: 878
Bonjour a tous
J'ai repris un ancien code vieux de 10 ans qui ne fonctionne plus avec PB 5.70 et refait ceci.
Je me sert régulièrement de ce petit outil pratique pour le placement des gadgets.

Code:
;///////////////////////////////
; Regle a pixels v2
; PB 5.70 LTS x86
; MLD le 29/03/2019
;///////////////////////////////
;Arrêt par clic droit de la souris sur la règle
;Numérotations éléments
#fen = 1:#Button_stop = 2:#text = 3:#trackbar = 5
Global Largeur = 405

Procedure myCallback(WindowID, Message, wParam, lParam)
  Result = #PB_ProcessPureBasicEvents
  Select Message
  Case #WM_CTLCOLORSTATIC
    Select lParam
    Case GadgetID(5)
      SetBkMode_(wParam,#TRANSPARENT)
      Result = CreateSolidBrush_($FFFFFF)
    EndSelect
  EndSelect
  ProcedureReturn Result
EndProcedure

Procedure Rgl()
    Protected  i.i,x.i,w.i
    UpdateWindow_(WindowID(1))
    W = 0:x = 0
    StartDrawing(WindowOutput(1))
    DrawingFont(FontID(1))
    For i=0 To WindowWidth(1)
     If i%20 = 0
      Line(x,0,1,10,$0000FF);vingtaine haut
      DrawText(x-2,12,Str(x),$0,GetWindowColor( 1));chiffres du haut
      Line(x,WindowHeight(1)-1,1,-10,$0000FF);vingtaine bas
      DrawText(x-2,WindowHeight(1)-20,Str(x),$0,GetWindowColor(1)) ;chiffres du bas
     ElseIf i%10 = 0
      Line (x,0,1,5,$CD0000);dizaine haut
      Line(x,WindowHeight(1)-1,1,-5,$CD0000);dizaine bas
     EndIf
     x+1
    Next
    x = 30
    For i=0 To WindowHeight(1)
     If i%20 = 0
      Line(1,x,10,1,$0000FF);vingtaine gauche
      DrawText(15,x-5,Str(x-30),$0,$FFFFFF);chiffres gauche
      Line(WindowWidth(1)-1,x,-10,1,$0000FF);vingtaine droit
      DrawText(WindowWidth(1)-20,x-5,Str(x-30),$0,$FFFFFF);chifres droit
     ElseIf i%10 = 0
      Line (1,x,5,1,$CD0000);dizaine gauche
      Line(WindowWidth(1)-1,x,-5,1,$CD0000);dizaine droit
     EndIf
     x+1
     If x > WindowHeight(1)-30
      Break
     EndIf
    Next
    StopDrawing()
EndProcedure

;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
OpenWindow(1, 450, 200, Largeur, 100, "",#PB_Window_BorderLess|#WS_THICKFRAME);|#WS_BORDER
SmartWindowRefresh(1,1)
StickyWindow(1,1)
HideWindow(1,0)
SetWindowColor(1,$FFFFFF)
SetWindowLong_(WindowID(1), #GWL_EXSTYLE, GetWindowLong_(WindowID(1), #GWL_EXSTYLE) | #WS_EX_LAYERED);transparence:
SetLayeredWindowAttributes_(WindowID(1), 0,180, #LWA_ALPHA)
TextGadget(3, 50, 30, 70, 20, "Transparence")
SetGadgetColor(3,#PB_Gadget_BackColor,$FFFFFF)
TrackBarGadget(5, 50, 45, 150, 30, 100, 255)
SetGadgetColor(5,#PB_Gadget_BackColor,$FFFFFF)
SetGadgetState(5,180)
SetWindowCallback(@myCallback())
LoadFont(1, "Noto Sans Condensed", 7,#PB_Font_HighQuality)
SetActiveGadget(5):SetActiveGadget(3)
Rgl()
;¤¤¤¤¤¤¤ Boucle générale
Repeat
  Event = WaitWindowEvent()
  If Event =  #WM_RBUTTONDOWN
   Delay(250)
   CloseWindow(1)
   End
  EndIf
  If Event =  #WM_LBUTTONDOWN
   SendMessage_(WindowID(1), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
  EndIf
  If Event = #PB_Event_SizeWindow;#WM_SIZE
    InvalidateRect_(WindowID(1), 0, 1)
    Rgl()
  EndIf
  If Event = #PB_Event_Gadget
   Select EventGadget()
     Case 5
      SetLayeredWindowAttributes_(WindowID(1), 0, GetGadgetState(5), #LWA_ALPHA)
      SetActiveGadget(3)
   EndSelect
  EndIf     
ForEver


Dernière édition par MLD le Lun 01/Avr/2019 17:00, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 11:45 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 3957
Merci, ca peux etre utile :idea:

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 11:54 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 02/Oct/2011 16:17
Messages: 2134
Localisation: 50200 Coutances
Merci MLD pour ce merveilleux partage, quelquefois il suffit d'une petite idée pour changer la vie des gens.

_________________
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce GT 640 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.62, 5.70 LTS
Un homme doit être poli, mais il doit aussi être libre !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 15:18 
Hors ligne

Inscription: Jeu 05/Fév/2009 17:58
Messages: 878
Merci a SPH et Micoute


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 16:50 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8666
Pas mal du tout merci.
Un petit basculement cm/pixel serait top ;)

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 17:45 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2741
Localisation: Klyntar
Petit utilitaire qui a son côté pratique.
Merci du partage.






@++

_________________
Windows 10 x64, PureBasic 5.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 18:30 
Hors ligne

Inscription: Jeu 05/Fév/2009 17:58
Messages: 878
Merci a ar-S et venon
Ar-s. j'avais cela dans l'ancienne version. Je l'ai viré. Je ne me suis jamais servis des Cms en 10 ans de temps pour dessiner sur un écran.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Ven 29/Mar/2019 21:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8666
Moi ça m'a servi plus d'une fois :D pour me caler sur du A4 par exemple.

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Regle a pixels pour faciliter le dessin
MessagePosté: Lun 01/Avr/2019 16:57 
Hors ligne

Inscription: Jeu 05/Fév/2009 17:58
Messages: 878
Maintenant ,et pour répondre aux remarques de certains hors forum J'ai supprimé le bouton stop.
Pour fermer la règle, un clic avec le bouton droit de la souris sur celle ci.
Le code est modifié dans le premier poste.
a+


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 9 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye