[Résolu]Equivalent API de GetGadgetText()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

[Résolu]Equivalent API de GetGadgetText()

Message par lionel_om »

Bjr, Tout est dans le titre.

Je veux obtenir le texte d'un gadget en passant par une fct de l'PI (afin de ne pas bouger la pile).
Car je travaille dans un Thread et Dri m'a expliquer que si deux Thread utilise simultanément des Strings, ca bouge la pile est les données ne sont plus correctes.

Merci d'avance.
Dernière modification par lionel_om le ven. 19/août/2005 13:42, modifié 1 fois.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Utilise SendMessage_() avec #WM_GETTEXT
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

j'ai pas vraiment parlé de la pile... :P

Dri ;)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

@Denis, Merci

@Dri, oui, mais si ya des pb, c'est sans doute la pile qui est modifiée...
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Le problème vient de l'utilisation du buffer texte interne de PB
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

J'ai une autre question :
comment on fait pour envoyer un signal de clic à un bouton ?
c'est tjrs avec SendMessage_(), j'imagine, mais je ne trouve pas la constante à passer...
Et si vous avez un lien où il y a toutes ces cstes et des exemples en plus, je vous embéterez peut être plus !! :lol:
merci bien
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

je viens de rajouter un exemple dans le Tuto sur la souris !
tout en bas du topic !!

comme d'hab cette exemple n'est pas de moi , il est d'Oliv je crois !!??!!
mais ton post m'a fait penser que j'avais oublié ça !! :D

http://purebasic.hmt-forum.com/viewtopic.php?t=1310


sinon c'est

Code : Tout sélectionner

 SendMessage_(GadgetID(#Btn_Quit),#WM_LBUTTONDOWN,0,0)
Delay(300)
SendMessage_(GadgetID(#Btn_Quit),#WM_LBUTTONUP,0,0) 
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Merci pour ta réponse DoBro, mais ca ne marche que partiellement :

Ca ne marche plus quand on rajoute la nature de l'événement : SimpleClic/DblClic... :?

Code : Tout sélectionner

 ;/Constantes Window
Enumeration
    #Window_0
EndEnumeration

;/Constantes Gadget
Enumeration
    #Btn_Quit
EndEnumeration


If OpenWindow(#Window_0, 300, 300, 300, 200, #PB_Window_SystemMenu, "Fenêtre 1",0)
    If CreateGadgetList(WindowID(#Window_0))
        ButtonGadget(#Btn_Quit, 100, 170, 100, 25, "Quitter")
    EndIf
   
    SetTimer_(WindowID(),1,3000,0)
    Repeat
        Select WaitWindowEvent()
            Case #WM_TIMER
                SendMessage_(GadgetID(#Btn_Quit),#WM_LBUTTONDOWN,0,0)
                Delay(300)
                SendMessage_(GadgetID(#Btn_Quit),#WM_LBUTTONUP,0,0)
            Case #PB_EventGadget
            
            
            If EventType() = #PB_EventType_LeftClick
            
                Select EventGadgetID()
                    ;Case
                    ;Case
                    Case #Btn_Quit : quit = 1
                EndSelect
                ;Case
                ;Case
            
            EndIf
            
            Case #PB_EventCloseWindow : quit = 1
        EndSelect
    Until quit = 1
    End
EndIf 
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

pourquoi rajouter ça ?

puisque "#WM_LBUTTONDOWN, "
veut deja dire qu'il sagit du bouton gauche !!

pour le bouton droit c'est

#WM_RBUTTONDOWN


il me semble ! :D
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Oui, mais je veux mettre ça dans un code où je gère aussi le doubleclic gauche.
Or là ya plus la différence...

Mais c'est bon j'ai trouvé !

Merci bien
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

Code : Tout sélectionner

Procedure Click(hWnd)
  PostMessage_(hWnd, #WM_LBUTTONDOWN,0,0)
  PostMessage_(hWnd, #WM_LBUTTONUP,0,0)
EndProcedure

Procedure DoubleClick(hWnd)
  SendMessage_(hWnd, #WM_LBUTTONDBLCLK, 0, 0)
EndProcedure
"Qui baise trop bouffe un poil." P. Desproges
Répondre