Textgadget autosize
Textgadget autosize
je fais un peu de VB en ce moment et j'ai découvert cette intéressante propriété ^^
ca permet de faire par exemple des boites de dialogues dont la taille dépend du texte (comme MessageRequester)
Problème:
Comment faire la même chose en PB ? J'ai cherché sur le forum officiel et y'a rien, je vais fouiller dans le msdn... J'espère que quelqu'un pourra m'éclairer là dessus ^^
Dri
ca permet de faire par exemple des boites de dialogues dont la taille dépend du texte (comme MessageRequester)
Problème:
Comment faire la même chose en PB ? J'ai cherché sur le forum officiel et y'a rien, je vais fouiller dans le msdn... J'espère que quelqu'un pourra m'éclairer là dessus ^^
Dri
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Une idée :
Récupérer la longueur du texte,
puis agrandir le requester à la taille de celui ci
Récupérer la longueur du texte,
puis agrandir le requester à la taille de celui ci
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
En fait, il suffirait de faire un len du texte contenu dans le titre, puis dans le requester et de choisir le plus long pour avoir la taille du requester ! Non ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
Le but c'est pas de faire un requester mais de rendre automatique la taille d'un textgadget selon sa police (type, taille, style etc) et le texte qu'il contient ^^Progi1984 a écrit :En fait, il suffirait de faire un len du texte contenu dans le titre, puis dans le requester et de choisir le plus long pour avoir la taille du requester ! Non ?
(le requester c'est un exemple =)
@Chris
Je vais regarder cette fonction de plus près ^^
Dri

- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Dsl, je me suis trompé ! 

Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
moi je ferai comme ça !!
dans l'exemple suivant change le text , et sa taille
la fenetre est redimentionné ! ça vaut ce que ça vaut
ça peut dépanner...
dans l'exemple suivant change le text , et sa taille
la fenetre est redimentionné ! ça vaut ce que ça vaut

ça peut dépanner...
; PureBasic Visual Designer v3.92 build 1460
;- Window Constants
Declare Open_message(text$,taille)
Enumeration
#message
#Police
#Button_0
#Text_0
EndEnumeration
text$= "hello " ; <----------------------------ICI ajoute du text
taille=10 ; <----------------------------ICI change la taille
Open_message(text$,taille)
; ******************* boucle principale ****************
Repeat ; Start of the event loop
Event = WaitWindowEvent () ; This line waits until an event is received from Windows
WindowID = EventWindowID () ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadgetID () ; Is it a gadget event?
EventType = EventType () ; The event type
If Event = #PB_EventGadget
If GadgetID = #Button_0
End
EndIf
EndIf
Until Event = #PB_Event_CloseWindow ; End of the event loop
End
;**********************************
Procedure Open_message(text$,taille)
FontID = LoadFont ( #Police , "Comic Sans MS" , taille, #PB_Font_Bold )
long=( Len (text$)*taille)
If OpenWindow ( #message , 10, 10,long, 50+long/8, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar , "message" )
If CreateGadgetList ( WindowID ())
ButtonGadget ( #Button_0 , 0, WindowHeight ()-30, 60, 30, "ok" )
TextGadget ( #Text_0 , 30, (taille/8 ), 140+long, taille*2, text$)
SetGadgetFont ( #Text_0 , FontID )
EndIf
EndIf
EndProcedure
Dernière modification par Backup le lun. 26/déc./2005 22:53, modifié 4 fois.