SendMessage_

Archive.
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

SendMessage_

Message par venom »

Bonjour,

voila sa m'arrive de me servir des API'S et la blocage 8O

en se moment je me sert de SendMessage

sur un des bouton j'ai :

Code : Tout sélectionner

SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
ce code permet de déplacer la fenetre ID ave la souris. cela fonctionne très bien en purebasic 4.30 beta 5

et juste en dessous :

Code : Tout sélectionner

SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTREDUCE, 0)
ce code la permet de réduire la fenêtré ID pourtant dans le même code il ne fonctionne plus :? quelqu'un a une alternative ou c'est seulement chez moi ?

un petit code complet pour prouvé :

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

  If OpenWindow(#Window_0, 0, 0, 600, 250, "",  #PB_Window_ScreenCentered|#PB_Window_BorderLess)
   
   If LoadImage(0, "une image")
    ImageGadget(0, 10, 10, 30, 30, ImageID(0))
   EndIf
   If LoadImage(1, "une image")
    ImageGadget(1, 10, 50, 30, 30, ImageID(1))
   EndIf
     
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget 
      Select EventGadget()
      
       Case 0
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
       
       Case 1
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTREDUCE, 0)

      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow




@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

oui c'est curieux !!

meme en utilisant l'autre constante çà marche pas !

ici j'ai ajouté le bouton minimiser sur la fenêtre
on vois bien que l'appui sur l'image active le bouton
mais semble sans effet , on dirai qu'il manque le clic effectif
comme si on survolais le bouton en fait !


faut peut être capturer la souris sur l'image
pour que le clic soit interprété


Code : Tout sélectionner

;- Window Constants
UseJPEGImageDecoder()
Enumeration
  #Window_0
EndEnumeration

If OpenWindow(#Window_0, 0, 0, 600, 250, "",  #PB_Window_ScreenCentered|#PB_Window_BorderLess|#PB_Window_MinimizeGadget)
  
  If LoadImage(0, "C:\Dobro\Mes_Photos\fond_ecran\1zerr2.jpg")
    ResizeImage(0,30,30)
    ImageGadget(0, 10, 10, 30, 30, ImageID(0))
  EndIf
  If LoadImage(1, "C:\Dobro\Mes_Photos\fond_ecran\177.jpg")
        ResizeImage(1,30,30)
    ImageGadget(1, 100, 10, 30, 30, ImageID(1))
  EndIf
  
EndIf

Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    Select EventGadget() 
      Case 0
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0) 
      Case 1
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN,#HTMINBUTTON, 0)
   Debug "ok"
  EndSelect 
EndIf
 
Until EventID = #PB_Event_CloseWindow
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

oui en effet ont voie bien le bouton minimisé s'activé mais rien ne se passe c'est bizarre.

après il reste la manipulation de rendre la fenêtré invisible mais bon autant ce servir de chose déjà fait. surtout que sa fonctionner bien avant.




@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Ollivier
Messages : 4190
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

  If OpenWindow(#Window_0, 0, 0, 600, 250, "",  #PB_Window_ScreenCentered|#PB_Window_BorderLess)
   
   If LoadImage(0, "")
    ImageGadget(0, 10, 10, 30, 30, ImageID(0))
   EndIf
   If LoadImage(1, "")
    ImageGadget(1, 10, 50, 30, 30, ImageID(1))
   EndIf
     
  EndIf

  Repeat
   EventID = WaitWindowEvent()
    If EventID = #PB_Event_Gadget
      Select EventGadget()
     
       Case 0
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
       
       Case 1
         SetWindowState(#Window_0, #PB_Window_Minimize)
      EndSelect
    EndIf
  Until EventID = #PB_Event_CloseWindow
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

merci du code Ollivier,

je sais qu'il y a plusieurs façon de faire ce que je demande mais ce que je ne comprend pas c'est que j'ai toujours fait ainsi et sa fonctionner.

c'est pour sa que j'ai posté dans le rapport. en attendant, je vais trouvé une alternative.
merci





@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Code : Tout sélectionner

   SetWindowState(#Window_0, #PB_Window_Minimize) 
oui bien sur :)

mais il en reste pas moins que sendmessage_deconne !

tu devrai en parler sur le forum anglais , histoire de .... :)
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

tu devrai en parler sur le forum anglais , histoire de ....
oui mais si une personne bilingue pourrai s'en charger, j'avoue que sa m'arrangerai bien si non je le posterai bientôt.






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Fred
Site Admin
Messages : 2652
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Y'a peu de chance que ce soit SendMessage_() qui déconne, etant donné qu'elle est utilisée partout (et son appel ne change pas, c'est juste les parametres passés). Peut etre que quelque chose a été modifié dans la lib 'window' et qui affecte le sendmessage_().
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Fred a écrit :Y'a peu de chance que ce soit SendMessage_() qui déconne, etant donné qu'elle est utilisée partout (et son appel ne change pas, c'est juste les parametres passés). Peut etre que quelque chose a été modifié dans la lib 'window' et qui affecte le sendmessage_().
:lol: :lol: :lol: ce qui pour nous, reviens a dire que c'est le sendmessage_() qui deconne :lol: :)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

je me disais, l'action se fait quand le bouton remonte, et pas quand le bouton descend.
Mais ça ne change rien.

Code : Tout sélectionner

;- Window Constants
Enumeration
  #Window_0
EndEnumeration

If OpenWindow(#Window_0, 0, 0, 600, 250, "",  #PB_Window_ScreenCentered|#PB_Window_BorderLess|#PB_Window_SystemMenu|#PB_Window_MinimizeGadget)
  
  CreateImage(0, 30, 30)
  CreateImage(1, 30, 30)
  
  ImageGadget(0, 10, 10, 30, 30, ImageID(0))
  ImageGadget(1, 10, 50, 30, 30, ImageID(1))
  
EndIf

Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    Select EventGadget()
        
      Case 0
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONDOWN, #HTCAPTION, 0)
        
      Case 1
        SendMessage_(WindowID(#Window_0), #WM_NCLBUTTONUP, #HTREDUCE, 0)
        
    EndSelect
  EndIf
Until EventID = #PB_Event_CloseWindow
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

oui ;)
j'avais deja essayé :)

je pense que Fred a du regarder ça :)
Répondre