Cacher le Caret d'un StringGadget / EditorGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Cacher le Caret d'un StringGadget / EditorGadget

Message par Lord Nelson »

Salut,

Savez-vous si c'est possible de cacher Caret qui apparais dans le StringGadget, EditorGadget ? :)
Lemaquis
Messages : 271
Inscription : mer. 25/déc./2013 7:34
Localisation : la corse

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message par Lemaquis »

Bonjour
tu veux parler du curseur?
LeMaquis
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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 
Image
Image
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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
Image
Image
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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:
Lemaquis
Messages : 271
Inscription : mer. 25/déc./2013 7:34
Localisation : la corse

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message par Lemaquis »

le caret c'est le curseur???
LeMaquis
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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 :)
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message par TazNormand »

Lemaquis a écrit :le caret c'est le curseur???
Oui :roll:

Un peu de lecture
Image
Image
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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à.
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message par Lord Nelson »

TazNormand (-1) :mrgreen:
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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:
Image
Image
Lord Nelson
Messages : 355
Inscription : dim. 01/déc./2013 15:29

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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 ?
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message 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:
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Cacher le Caret d'un StringGadget / EditorGadget

Message par TazNormand »

@ Lord Nelson : Te trucider ? non, juste corriger tes faute :lol:
Image
Image
Répondre