[RESOLU] Soucis scintillement gadgets et autres

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

[RESOLU] Soucis scintillement gadgets et autres

Message par Shadow »

Chalut :)

J'ai un soucis de scintillement quand je déplace le splitter... pourquoi ?
J'utilise un panel perso car l'originale scintillement légèrement quand on passe sur l'un de ses bouton et autre chose...

J'aimerais bien aussi qu'il est un focus sur le bouton de mon panel perso ou je clique, une idée ? :)

Code : Tout sélectionner

;{ Enumeration

Enumeration
  
  #FenetreEditeurExpression
  #ContainerFenetreEditeurExpression
  #ContainerCommandesVariablesEditeurExpression
  #BoutonAfficherTreeCommandesEditeurExpression
  #BoutonAfficherTreeVariablesEditeurExpression
  #SplitterFenetreEditeurExpression
  #TreeCommandesEditeurExpression
  #TreeVariablesEditeurExpression
  
  #EditeurExpression
  
EndEnumeration

;}

; Prcocedure permettant d'activer ou de desactiver le theme XP.
Procedure SetActiveXP(Gadget.l, Value.b)
  If Value=#True
    SetWindowTheme_(GadgetID(Gadget), @" ", @" ")
  Else
    SetWindowTheme_(GadgetID(Gadget), 0, 0)
  EndIf
EndProcedure

Procedure OuvrirFenetreEditeurExpression()
  
  OpenWindow(#FenetreEditeurExpression, 0, 0, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
  WindowBounds(#FenetreEditeurExpression, 500, 400, #PB_Ignore, #PB_Ignore)
  
  ContainerGadget(#ContainerFenetreEditeurExpression, 0, 0, 600, 400, #PB_Container_Flat)
  
  ContainerGadget(#ContainerCommandesVariablesEditeurExpression, 0, 0, 0, 0, #PB_Container_Flat)
  
  ButtonGadget(#BoutonAfficherTreeCommandesEditeurExpression, 2, 2, 60, 22, "Fonction")
  ButtonGadget(#BoutonAfficherTreeVariablesEditeurExpression, 61, 2, 65, 22, "Variables")
  
  SetWindowLong_(GadgetID(#BoutonAfficherTreeCommandesEditeurExpression), #GWL_STYLE, #BS_FLAT | GetWindowLong_(GadgetID(#BoutonAfficherTreeCommandesEditeurExpression), #GWL_STYLE))
  SetWindowLong_(GadgetID(#BoutonAfficherTreeVariablesEditeurExpression), #GWL_STYLE, #BS_FLAT | GetWindowLong_(GadgetID(#BoutonAfficherTreeCommandesEditeurExpression), #GWL_STYLE))
  
  SetActiveXP(#BoutonAfficherTreeCommandesEditeurExpression, #True)
  SetActiveXP(#BoutonAfficherTreeVariablesEditeurExpression, #True)
  
  TreeGadget(#TreeCommandesEditeurExpression, 0, 0, 0, 0, #PB_Tree_AlwaysShowSelection)
  
  AddGadgetItem(#TreeCommandesEditeurExpression, -1, "F1")
  AddGadgetItem(#TreeCommandesEditeurExpression, -1, "F2")
  AddGadgetItem(#TreeCommandesEditeurExpression, -1, "F3")
  
  TreeGadget(#TreeVariablesEditeurExpression, 0, 0, 0, 0, #PB_Tree_AlwaysShowSelection)
  
  AddGadgetItem(#TreeVariablesEditeurExpression, -1, "V1")
  AddGadgetItem(#TreeVariablesEditeurExpression, -1, "V2")
  AddGadgetItem(#TreeVariablesEditeurExpression, -1, "V3")
  
  HideGadget(#TreeVariablesEditeurExpression, #True)
  
  CloseGadgetList()
  
  EditorGadget(#EditeurExpression, 0, 0, 0, 0)
  SplitterGadget(#SplitterFenetreEditeurExpression, 2, 2, 594, 347, #ContainerCommandesVariablesEditeurExpression, #EditeurExpression, #PB_Splitter_Vertical | #PB_Splitter_Separator)
  
  CloseGadgetList()
  
  SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_FirstMinimumSize, 200)
  SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_SecondMinimumSize, WindowWidth(#FenetreEditeurExpression) - 300)
  
  SetGadgetState(#SplitterFenetreEditeurExpression, 0)
  
  ResizeGadget(#TreeCommandesEditeurExpression, 2, 23, GadgetWidth(#ContainerCommandesVariablesEditeurExpression) - 6, GadgetHeight(#ContainerCommandesVariablesEditeurExpression) - 27)
  ResizeGadget(#TreeVariablesEditeurExpression, 2, 23, GadgetWidth(#ContainerCommandesVariablesEditeurExpression) - 6, GadgetHeight(#ContainerCommandesVariablesEditeurExpression) - 27)
  
  Repeat
    
    Select WaitWindowEvent(1)
        
      Case #PB_Event_SizeWindow
        
        SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_SecondMinimumSize, WindowWidth(#FenetreEditeurExpression) - 300)
        
        ResizeGadget(#ContainerFenetreEditeurExpression, 0, 0, WindowWidth(#FenetreEditeurExpression), WindowHeight(#FenetreEditeurExpression))
        ResizeGadget(#SplitterFenetreEditeurExpression, 2, 2, WindowWidth(#FenetreEditeurExpression) - 6, WindowHeight(#FenetreEditeurExpression) - 53)
        ResizeGadget(#TreeCommandesEditeurExpression, 2, 23, GadgetWidth(#ContainerCommandesVariablesEditeurExpression) - 6, GadgetHeight(#ContainerCommandesVariablesEditeurExpression) - 27)
        ResizeGadget(#TreeVariablesEditeurExpression, 2, 23, GadgetWidth(#ContainerCommandesVariablesEditeurExpression) - 6, GadgetHeight(#ContainerCommandesVariablesEditeurExpression) - 27)
        
      Case #PB_Event_CloseWindow
        CloseWindow(#FenetreEditeurExpression)
        Break
        
      Case #PB_Event_Menu
        Select EventMenu()
        EndSelect
        
      Case #PB_Event_Gadget
        Select EventGadget()
            
          Case #BoutonAfficherTreeCommandesEditeurExpression
            HideGadget(#TreeCommandesEditeurExpression, #False)
            HideGadget(#TreeVariablesEditeurExpression, #True)
            
          Case #BoutonAfficherTreeVariablesEditeurExpression
            HideGadget(#TreeCommandesEditeurExpression, #True)
            HideGadget(#TreeVariablesEditeurExpression, #False)
            
          Case #SplitterFenetreEditeurExpression
            
            SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_SecondMinimumSize, WindowWidth(#FenetreEditeurExpression) - 300)
            
            ResizeGadget(#SplitterFenetreEditeurExpression, 2, 2, WindowWidth(#FenetreEditeurExpression) - 6, WindowHeight(#FenetreEditeurExpression) - 53)
            ResizeGadget(#TreeCommandesEditeurExpression, 2, 23, GadgetWidth(#ContainerCommandesVariablesEditeurExpression) - 6, GadgetHeight(#ContainerCommandesVariablesEditeurExpression) - 27)
            ResizeGadget(#TreeVariablesEditeurExpression, 2, 23, GadgetWidth(#ContainerCommandesVariablesEditeurExpression) - 6, GadgetHeight(#ContainerCommandesVariablesEditeurExpression) - 27)
            
        EndSelect
        
    EndSelect
    
  ForEver
  
EndProcedure

OuvrirFenetreEditeurExpression()
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis scintillement gadgets et autres

Message par falsam »

Pourquoi simuler un panelgadget avec des boutons et deux containers imbriqués ?
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%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Soucis scintillement gadgets et autres

Message par Shadow »

Que me propose tu et comment faire ?
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis scintillement gadgets et autres

Message par falsam »

Shadow a écrit :Que me propose tu et comment faire ?
Utilises un panelgadget et crées ton spliter entre le panel et l’éditeur.
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%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Soucis scintillement gadgets et autres

Message par Shadow »

Tu n'as donc pas lue...
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis scintillement gadgets et autres

Message par falsam »

Shadow a écrit :Tu n'as donc pas lue...
Bien sur que si. Je t'en prie continue avec ton panel perso scintillant :mrgreen:
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%
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Soucis scintillement gadgets et autres

Message par Shadow »

Pour ceux qui lise entre les lignes:
J'utilise un panel perso car l'originale scintillement légèrement quand on passe sur l'un de ses bouton et autre chose...
Voici comment j'ai fais:

Code : Tout sélectionner

EnableExplicit

;{ Enumeration

Enumeration
  
  #FenetreEditeurExpression
  #ContainerFenetreEditeurExpression
  #ContainerCommandesVariablesEditeurExpression
  #BoutonAfficherTreeCommandesEditeurExpression
  #BoutonAfficherTreeVariablesEditeurExpression
  #SplitterFenetreEditeurExpression
  #TreeCommandesEditeurExpression
  #TreeVariablesEditeurExpression
  
  #EditeurExpression
  
EndEnumeration

;}

; Prcocedure permettant d'activer ou de desactiver le theme XP.
Procedure SetActiveXP(Gadget.l, Value.b)
  If Value=#True
    SetWindowTheme_(GadgetID(Gadget), @" ", @" ")
  Else
    SetWindowTheme_(GadgetID(Gadget), 0, 0)
  EndIf
EndProcedure

Procedure OuvrirFenetreEditeurExpression()
  
  Define OngletTreeAfficher.i = 1
  
  OpenWindow(#FenetreEditeurExpression, 0, 0, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
  WindowBounds(#FenetreEditeurExpression, 500, 400, #PB_Ignore, #PB_Ignore)
  
  ContainerGadget(#ContainerFenetreEditeurExpression, 0, 0, 600, 400, #PB_Container_Flat)
  
  ButtonGadget(#BoutonAfficherTreeCommandesEditeurExpression, 2, 2, 60, 22, "Fonction")
  ButtonGadget(#BoutonAfficherTreeVariablesEditeurExpression, 61, 2, 65, 22, "Variables")
  
  SetWindowLong_(GadgetID(#BoutonAfficherTreeCommandesEditeurExpression), #GWL_STYLE, #BS_FLAT | GetWindowLong_(GadgetID(#BoutonAfficherTreeCommandesEditeurExpression), #GWL_STYLE))
  SetWindowLong_(GadgetID(#BoutonAfficherTreeVariablesEditeurExpression), #GWL_STYLE, #BS_FLAT | GetWindowLong_(GadgetID(#BoutonAfficherTreeCommandesEditeurExpression), #GWL_STYLE))
  
  SetActiveXP(#BoutonAfficherTreeCommandesEditeurExpression, #True)
  SetActiveXP(#BoutonAfficherTreeVariablesEditeurExpression, #True)
  
  TreeGadget(#TreeCommandesEditeurExpression, 0, 0, 0, 0, #PB_Tree_AlwaysShowSelection)
  
  AddGadgetItem(#TreeCommandesEditeurExpression, -1, "F1")
  AddGadgetItem(#TreeCommandesEditeurExpression, -1, "F2")
  AddGadgetItem(#TreeCommandesEditeurExpression, -1, "F3")
  
  TreeGadget(#TreeVariablesEditeurExpression, 0, 0, 0, 0, #PB_Tree_AlwaysShowSelection)
  
  AddGadgetItem(#TreeVariablesEditeurExpression, -1, "V1")
  AddGadgetItem(#TreeVariablesEditeurExpression, -1, "V2")
  AddGadgetItem(#TreeVariablesEditeurExpression, -1, "V3")
  
  HideGadget(#TreeVariablesEditeurExpression, #True)
  
  EditorGadget(#EditeurExpression, 0, 0, 0, 0)
  SplitterGadget(#SplitterFenetreEditeurExpression, 2, 23, 594, 347, #TreeCommandesEditeurExpression, #EditeurExpression, #PB_Splitter_Vertical | #PB_Splitter_Separator)
  
  CloseGadgetList()
  
  SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_FirstMinimumSize, 200)
  SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_SecondMinimumSize, WindowWidth(#FenetreEditeurExpression) - 300)
  
  SetGadgetState(#SplitterFenetreEditeurExpression, 0)
  
  Repeat
    
    Select WaitWindowEvent(1)
        
      Case #PB_Event_SizeWindow
        
        SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_SecondMinimumSize, WindowWidth(#FenetreEditeurExpression) - 300)
        
        ResizeGadget(#ContainerFenetreEditeurExpression, 0, 0, WindowWidth(#FenetreEditeurExpression), WindowHeight(#FenetreEditeurExpression))
        ResizeGadget(#SplitterFenetreEditeurExpression, 2, 2, WindowWidth(#FenetreEditeurExpression) - 6, WindowHeight(#FenetreEditeurExpression) - 53)
        
      Case #PB_Event_CloseWindow
        CloseWindow(#FenetreEditeurExpression)
        Break
        
      Case #PB_Event_Menu
        Select EventMenu()
        EndSelect
        
      Case #PB_Event_Gadget
        
        Select EventGadget()
            
          Case #BoutonAfficherTreeCommandesEditeurExpression
            
            If OngletTreeAfficher.i <> 1
              
              OngletTreeAfficher.i = 1
              
              HideGadget(#TreeCommandesEditeurExpression, #False)
              HideGadget(#TreeVariablesEditeurExpression, #True)
              SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_FirstGadget, #TreeCommandesEditeurExpression)
              
            EndIf
            
          Case #BoutonAfficherTreeVariablesEditeurExpression
            
            If OngletTreeAfficher.i <> 2
              
              OngletTreeAfficher.i = 2
              
              HideGadget(#TreeCommandesEditeurExpression, #True)
              HideGadget(#TreeVariablesEditeurExpression, #False)
              SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_FirstGadget, #TreeVariablesEditeurExpression)
            EndIf
            
          Case #SplitterFenetreEditeurExpression
            
            SetGadgetAttribute(#SplitterFenetreEditeurExpression, #PB_Splitter_SecondMinimumSize, WindowWidth(#FenetreEditeurExpression) - 300)
            ResizeGadget(#SplitterFenetreEditeurExpression, 2, 23, WindowWidth(#FenetreEditeurExpression) - 6, WindowHeight(#FenetreEditeurExpression) - 53)

        EndSelect
        
    EndSelect
    
  ForEver
  
EndProcedure

OuvrirFenetreEditeurExpression()
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Soucis scintillement gadgets et autres

Message par venom »

Voici ce que veux dire Shadow

Code : Tout sélectionner

  If OpenWindow(0, 0, 0, 800, 600, "SplitterGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    #Bouton1    = 0 
    #Bouton2    = 1
    #Separateur = 2
    
    PanelGadget(#Bouton1, 0, 0, 0, 0) ; Inutile de préciser la taille ou les coordonnées
     AddGadgetItem(#Bouton1, -1, "Onglet 1", 0)
    CloseGadgetList()
     
    EditorGadget(#Bouton2, 0, 0, 0, 0) ; car elles seront déterminées automatiquement
    SplitterGadget(#Separateur, 5, 5, 790, 590, #Bouton1, #Bouton2, #PB_Splitter_Vertical)

    Repeat 
    Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf
Quand on déplace le splitter le panel scintille :wink:






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Soucis scintillement gadgets et autres

Message par Shadow »

Salut Venom,

Pas chez moi non :)
Quand je passe ma souris sur les bouton du panel, ceux ci clignote et j'aime pas, ça fait pas jolie je trouve.

Merci.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Soucis scintillement gadgets et autres

Message par venom »

clignote ?

Tu parle de la surbrillance quand tu survol avec ton curseur ?







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis scintillement gadgets et autres

Message par falsam »

Ben voila ça me rassure :mrgreen: Ha ha ha ha ha
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
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Soucis scintillement gadgets et autres

Message par venom »

Si c'est ça désactive les thème dans les options du compilateur :wink:






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Soucis scintillement gadgets et autres

Message par Shadow »

Oui quand tu survole au passage d'un bouton d'un panel, le passage d'un bouton
à l’autre fait scintillé légèrement celui sur le quel tu te rend.

C'est pas méchant bien sur mais j'aime pas voila pourquoi :)
Et désactive les thème dans les options du compilateur, non sans façon :)

Merci.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis scintillement gadgets et autres

Message par falsam »

@Vernom : Si tu prends le premier code de Shadow, c'est l'ensemble de son panel maison qui scintille bien plus que le panel natif de PureBasic.
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: Soucis scintillement gadgets et autres

Message par Ar-S »

Dans ton code ICI en 5.60 x64 je n'ai aucun scintillement.
~~~~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
Répondre