Page 1 sur 1

Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 12:57
par Lord Nelson
Salut,

Savez-vous si c'est possible de cacher Caret qui apparais dans le StringGadget, EditorGadget ? :)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 13:35
par Lemaquis
Bonjour
tu veux parler du curseur?

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 13:53
par TazNormand
Salut

Utilise l'API (pour Windows, je ne connais pas sous Mac et Linux) :
  • HideCaret_(hwnd) : Masque le caret
    ShowCaret_(hwnd) : Affiche le caret
Tiens, adaptation du code exemple des gadgets dans la doc de PB, regardes les partie entre commentaires avec lignes d'astérisques (*). Si tu coches la case en bas de la fenêtre et que tu active le stringGadget en haut de la fenêtre, tu auras ou pas le caret :

Code : Tout sélectionner

;
; ------------------------------------------------------------
;
;   PureBasic - Gadget example file
;
;    (c) 2002 - Fantaisie Software
;
; ------------------------------------------------------------
;
;**************************************************
showCaret = 1 ; Par défaut on affiche le Caret
;**************************************************

#WindowWidth  = 390
#WindowHeight = 350
If OpenWindow(0, 100, 200, #WindowWidth, #WindowHeight, "PureBasic - Gadget Demonstration", #PB_Window_MinimizeGadget)
  Top = 10
  GadgetHeight = 24

  FrameGadget(#PB_Any, 10, Top, 370, 290, "Player...") : Top+20

  strGad=StringGadget(0,  20, Top, 200, GadgetHeight, "")

  ButtonGadget(1, 223, Top,  72, GadgetHeight, "Play")
  ButtonGadget(2, 295, Top,  72, GadgetHeight, "Stop")  : Top+35
  DisableGadget(2,1)
  
  GadgetToolTip(1,"Play the current song")
  
  PanelGadget(3, 20, Top, #WindowWidth-50, #WindowHeight-Top-60)
    AddGadgetItem(3, 0, "MP3 PlayList")
      ListViewGadget(4, 6, 10, 230, 148)

      For k=0 To 30
        AddGadgetItem(4, -1, "Music Song n° "+Str(k))
      Next

      ButtonGadget(5,  250, 10, 80, GadgetHeight, "Add")
      ButtonGadget(6,  250, 38, 80, GadgetHeight, "Remove")
      ButtonGadget(7,  250, 66, 80, GadgetHeight, "Select")
      GadgetToolTip(7, "Select the current song")
      
      TrackBarGadget(17, 10, 168, 310, 25, 0, 100)

    AddGadgetItem(3, 1, "Options")
      Top = 10
      CheckBoxGadget(10, 10, Top, 250, GadgetHeight, "Enable low-pass filter") : Top+30
      CheckBoxGadget(11, 10, Top, 250, GadgetHeight, "Enable visual plug-in")  : Top+30
      ComboBoxGadget(12, 10, Top, 250, 21) : Top+30
        AddGadgetItem(12, -1, "FireWorks")
        AddGadgetItem(12, -1, "OpenGL spectrum")
        AddGadgetItem(12, -1, "Bump bass")
      SetGadgetState(12,0)
      DisableGadget(12,1)
      
      OptionGadget(13, 10, Top, 80, GadgetHeight, "640*480") : Top+20
      OptionGadget(14, 10, Top, 80, GadgetHeight, "800*600") : Top+20
      OptionGadget(15, 10, Top, 80, GadgetHeight, "1024*768")
      SetGadgetState(13, 1)
      
      ButtonGadget(16, 150, Top, 80, GadgetHeight, "Info")

  CloseGadgetList()

  TextGadget  (9, 10, #WindowHeight-50, 250, 24, "PureBasic - Gadget demonstration")
  CheckBoxGadget(99, 10, #WindowHeight-30, 250, 24, "Masquer le Caret dans StringBox ?")
  ButtonGadget(8, #WindowWidth-100, #WindowHeight-36, 80, 24, "Quit")

  SetGadgetState(3, 0)

  Repeat
    Event = WaitWindowEvent()
    
    ;**************************************************
    ; Si gadget actif est le gadget 0 = stringGadget...
    ;**************************************************
    If GetActiveGadget() = 0      
      If showCaret = 0
        ;**************************************************
        ; Si la variable showCaret vaut 0 on cache le caret
        ;**************************************************
        HideCaret_(strGad)
      Else
        ;****************************************************
        ; Si la variable showCaret vaut 1 on affiche le caret
        ;****************************************************
        ShowCaret_(strGad)
      EndIf
      
    EndIf
    
    If Event = #PB_Event_Gadget

      Select EventGadget()
        Case 0
          If EventType() = #PB_EventType_ReturnKey
            MessageRequester("Info", "Return key pressed", 0)
            SetActiveGadget(0)
          EndIf
          
        Case 1 ; Play
          DisableGadget(2,0)  ; Enable the 'Stop' gadget
          DisableGadget(1,1)  ; Disable the 'Play' Gadget
      
        Case 2 ; Stop
          DisableGadget(1,0)  ; Enable the 'Play' gadget
          DisableGadget(2,1)  ; Disable the 'Stop' Gadget
        
        Case 4
          If EventType() = 2
            SetGadgetText(0, GetGadgetText(4)) ; Get the current item from the ListView..
          EndIf

        Case 5 ; Add
          AddGadgetItem(4, -1, "New Item Added...")

        Case 6 ; Remove
          RemoveGadgetItem(4, GetGadgetState(4)) ; Remove the current element of the ListView

        Case 7 ; Select
          SetGadgetText(0, GetGadgetText(4)) ; Get the current item from the ListView..
  
        Case 8 ; Quit...
          Event = #PB_Event_CloseWindow

        Case 11 ; Enable PlugIn..
          DisableGadget(12, 1-GetGadgetState(11))
          
        Case 16 ;
          If GetGadgetState(13) : Result$ = GetGadgetText(13) : EndIf
          If GetGadgetState(14) : Result$ = GetGadgetText(14) : EndIf
          If GetGadgetState(15) : Result$ = GetGadgetText(15) : EndIf
         
          MessageRequester("Info", "Selected screen mode: "+Result$, 0)
        
        Case 17
          SetGadgetText(0, Str(GetGadgetState(17)))
          
        Case 99
          ;****************************************************
          ; Si case cochée, on fait un XOR 1 sur la variable showCaret
          ; rappel :
          ; 1 ! 1 ==> 1 XOR 1 donne 0
          ; 0 ! 1 ==> 0 XOR 1 donne 1
          ;****************************************************
          showCaret ! 1
          
      EndSelect

    EndIf

  Until Event = #PB_Event_CloseWindow

EndIf

End 

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 14:05
par MLD
Grillé par Taz

Code : Tout sélectionner


Procedure crt()
  SetGadgetText(1,"Caret caché")
  HideCaret_(0); DestroyCaret_() détuit le caret
  While WindowEvent() : Wend ; pour rendre la main a window
  Sleep_(2500)
 ShowCaret_(0)
 SetGadgetText(1,"Caret non caché")
EndProcedure
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  StringGadget(1,10,10,100,20,"Ceci est un test",0)
  ButtonGadget(2, 100, 150, 100,30, "Action Caret")

  Repeat
    Event = WaitWindowEvent()
   Select Event
    Case #PB_Event_Gadget 
     Select EventGadget() 
       Case 2;
          crt()

          EndSelect
   EndSelect       
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 14:10
par TazNormand
@MLD : :mrgreen:

Sinon, "Sir Nelson", n'hésites pas à utiliser Google (qui je le rappelle est notre ami), tu aurais trouvé un lien vers l'API Microsoft HideCaret()/ShowCaret().

Perso c'est ce que j'ai fait, et il m'a fallu 2 minutes (et encore) pour trouver ̶m̶o̶n̶/ton bonheur

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 14:29
par Lord Nelson
Super, merci beaucoup !
Sinon, "Sir Nelson", n'hésites pas à utiliser Google (qui je le rappelle est notre ami), tu aurais trouvé un lien vers l'API Microsoft HideCaret()/ShowCaret().

Perso c'est ce que j'ai fait, et il m'a fallu 2 minutes (et encore) pour trouver ̶m̶o̶n̶/ton bonheur
Oui, j'ai bien pensé à rechercher sur le fofo mais pas sur Google :oops:

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 20:58
par Lemaquis
le caret c'est le curseur???

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 21:41
par Lord Nelson
Pardon, non c'est pas le curseur, c'est le signe qui apparait dans un StringGadget ou EditorGadget
ce n'est pas la souris, c'est le truc qui clignote dans un StringGadget ou EditorGadget :)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : ven. 17/oct./2014 21:43
par TazNormand
Lemaquis a écrit :le caret c'est le curseur???
Oui :roll:

Un peu de lecture

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : sam. 18/oct./2014 15:21
par nico
TazNormand, on ne peut as te laisser dire ça!

Le caret est l'indicateur du positionnement du texte que tu rentres au clavier, le curseur est celui que tu connais déjà.

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : sam. 18/oct./2014 15:33
par Lord Nelson
TazNormand (-1) :mrgreen:

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : sam. 18/oct./2014 15:56
par TazNormand
nico a écrit :TazNormand, on ne peut as te laisser dire ça!

Le caret est l'indicateur du positionnement du texte que tu rentres au clavier, le curseur est celui que tu connais déjà.
Oui et non, je te rappelle qu'à l'époque (lointaine) où il n'y avait pas d'interface graphique (Micro Amstrad CPC, Sinclair ZX, C64, Philips VG, MSX, PC /s DOS, et MainFrames Bull GCos, IBM AS400, VAX ...) le curseur = caret.

1 partout, la balle au centre :mrgreen:

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : sam. 18/oct./2014 16:05
par Lord Nelson
Taz n'essaies pas de te chercher une excuse, tu sais y'a rien de honteux à reconnaitre son erreur, on peut pas être bon partout !
Faut juste vivre avec son temps c'est tout :mrgreen:
La technologie, c'est pas pour toi vieux, retourne donc sur ton bon vieux C64 :mrgreen:
Tu sais, c'est pas parce qu' on est modérateur qu'on sait tout hein :mrgreen:
La balle est dans ton camp, que va tu faire, me trucider ?

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : sam. 18/oct./2014 17:02
par MLD
Salut a tous

Pour faire simple Caret synonyme emplacement d'un texte avec le clavier.
Cuseur synonyme d'emplacement d'un point avec la souris. :wink:

Re: Cacher le Caret d'un StringGadget / EditorGadget

Publié : sam. 18/oct./2014 19:05
par TazNormand
@ Lord Nelson : Te trucider ? non, juste corriger tes faute :lol: