PureBasic

Forums PureBasic
Nous sommes le Dim 21/Juil/2019 2:08

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 
Auteur Message
 Sujet du message: SendMessage_
MessagePosté: Jeu 30/Avr/2009 18:45 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2772
Localisation: Klyntar
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:
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:
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:
;- 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.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Jeu 30/Avr/2009 21:02 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
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:
;- 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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Ven 01/Mai/2009 2:23 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2772
Localisation: Klyntar
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.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Ven 01/Mai/2009 2:50 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3462
Code:
;- 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


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Ven 01/Mai/2009 3:05 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2772
Localisation: Klyntar
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.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Ven 01/Mai/2009 11:31 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
Code:
   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 .... :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Ven 01/Mai/2009 13:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2772
Localisation: Klyntar
Citation:
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.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 04/Mai/2009 14:26 
Hors ligne
Site Admin

Inscription: Mer 21/Jan/2004 11:03
Messages: 2564
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_().


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 04/Mai/2009 15:08 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
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: :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 04/Mai/2009 21:52 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2004 20:58
Messages: 4312
Localisation: Clermont ferrand OU Olsztyn
je me disais, l'action se fait quand le bouton remonte, et pas quand le bouton descend.
Mais ça ne change rien.

Code:
;- 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)]


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 04/Mai/2009 22:03 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
oui ;)
j'avais deja essayé :)

je pense que Fred a du regarder ça :)


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 11 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye