Page 1 sur 1

[résolu] StringGadget et coller

Publié : mer. 07/mai/2008 22:12
par didier69
Bonjour,

j'ai l'impression que le coller (ctrl-v) ne fonctionne pas
par défaut dans un StringGadget multiligne.

Code : Tout sélectionner

;{- Enumerations / DataSections
;:PureFORM:Init:Start:
; PureFORM V1.99 ~ 07/05/2008 23:08:31
;{ Windows
Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #String_0
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;:PureFORM:Init:End:
;}
;:PureFORM:Windows:Start:
;:PureFORM:Window_0_1:Start:
Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 450, 200, 400, 400, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    If CreateGadgetList(WindowID(#Window_0))
      StringGadget(#String_0, 55, 55, 240, 165, "Gadget_0", #ES_MULTILINE)
      ;:PureFORM:Window_0_1:End:
      ; Your code here ...
      
      ;
      ;:PureFORM:Window_0_2:Start:
    EndIf
  EndIf
EndProcedure
;:PureFORM:Window_0_2:End:
;:PureFORM:Windows:End:
;
;:PureFORM:Gadgets:Start:
;:PureFORM:Gadgets:End:

OpenWindow_Window_0()
;:PureFORM:Main:Start:
;:PureFORM:Main:End:

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  ;:PureFORM:Loop:Start:
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget = #String_0
      EndIf
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
  ;:PureFORM:Loop:End:
ForEver
;
;}
;:PureFORM:AfterLoop:Start:
;:PureFORM:AfterLoop:End:
Ai-je raison ?

Je suis avec pb 4.2 beta 4.

Si oui, comment gérer le ctrl-v ? Avec un AddKeyboardShortkey ?

Publié : mer. 07/mai/2008 22:27
par didier69
Buh, je ne comprends plus ça marche maintenant ...

Publié : mer. 07/mai/2008 22:29
par didier69
Ahhh il semble y avoir une taille maximale pour ce gadget !

Publié : jeu. 08/mai/2008 10:02
par gnozal
Remarques :
1. le multiline n'est plus supporté officiellement par PB pour les StringGadget [contrôle EDIT pour Windows] car non supporté par les autres plateformes [Mac/Linux]. Dans PureFORM, j'ai ajouté le style (API Windows) #ES_MULTILINE pour compenser la disparition de #PB_String_Multiline.
2. un EditorGadget [contrôle RICHEDIT pour Windows] peut être plus intéressant si on veut gérer plusieurs lignes et il supporte des tailles bien plus importantes.

Publié : jeu. 08/mai/2008 12:23
par didier69
Merci pour les infos. En effet j'ai remplacé mes StringGadgets
par des EditorGadgets.