bonjour
j'ai 2 question :
1- dans un StringGadget , peux t'on placer le curseur ou'lon veux quand on mis un SetActiveGadget aprés pour donner le focus ?
ce que veux faire c'est que le focus place le curseur dans le StringGadget où il veux.
2- peuxt'on cacher une colonne d'une ListIconGadget quand on lance le programme et la faire reapparaitre si on clique sur un bouton ?
merci à tous
Bonjour j'ai 2 question pour les pros de PB...
-
- Messages : 1500
- Inscription : jeu. 25/mars/2004 11:23
- Localisation : Sophia Antipolis (Nice)
- Contact :
1)
2)
Tu dois pouvoir modifier la taille des différentes colonnes, donc tu as juste à mettre la taille à 0 (en savegardant l'ancienne valeur si nécessaire), puis en la réinitialisant après un clic...
Lio
Code : Tout sélectionner
; POsition du curseur dans un EditorGadget
Global x, y, OldPosX, OldPosY, rc.s, Px, Py
rc.s = Chr(13)+Chr(10)
Procedure EditGadgetCursor(gadget)
SendMessage_(GadgetID(gadget),#EM_GETSEL,@Px,@Py)
x = SendMessage_(GadgetID(gadget),#EM_LINEFROMCHAR,Px,0)+1
y = Px-SendMessage_(GadgetID(gadget),#EM_LINEINDEX,SendMessage_(GadgetID(gadget),#EM_LINEFROMCHAR,Py,0),0)
EndProcedure
Procedure EditGadgetPos()
EditGadgetCursor(1)
If (x<>OldPosX Or y<>OldPosY) And y =>0
SetGadgetText(2,Str(x))
SetGadgetText(3,Str(y))
OldPosX = x : OldPosY = y
;Beep_(6000,15)
EndIf
EndProcedure
Procedure Window()
OpenWindow(1,200,200,350,500,"Test Position Curseur" ,#PB_Window_SystemMenu)
CreateGadgetList(WindowID(1))
EditorGadget(1,3,3,300,400)
StringGadget(2,50,450,40,20,"")
StringGadget(3,180,450,40,20,"")
TextGadget(4,10,452,70,20,"Ligne:")
TextGadget(5,125,452,70,20,"Caract:")
SetGadgetFont(1,LoadFont(1,"Comic sans Ms",12))
SetGadgetFont(2,LoadFont(2,"Comic sans Ms",10, #PB_Font_Bold ))
SetGadgetFont(3,LoadFont(3,"Comic sans Ms",10, #PB_Font_Bold ))
SetGadgetFont(4,LoadFont(4,"Comic sans Ms",10, #PB_Font_Bold ))
SetGadgetFont(5,LoadFont(5,"Comic sans Ms",10, #PB_Font_Bold ))
SetTimer_(WindowID(1),1,100,0)
For n = 1 To 100
Texte.s+"Ligne numéro : "+RSet(Str(n),3,"0")+rc
Next n
SetGadgetText(1,Texte.s)
EndProcedure
Window()
SetActiveGadget(1)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow: End
Case #WM_TIMER
EditGadgetPos()
EndSelect
ForEver
Tu dois pouvoir modifier la taille des différentes colonnes, donc tu as juste à mettre la taille à 0 (en savegardant l'ancienne valeur si nécessaire), puis en la réinitialisant après un clic...
Lio
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Participez à son extension: ajouter vos programmes et partagez vos codes !