Page 1 sur 1

api windows

Publié : lun. 07/janv./2013 11:05
par coxco
Bonjour

Je voudrais savoir comment démarrer avec l'utilisation des api windows.
Si par exemple je souhaite utiliser WM_MOUSEMOVE comment dois je l'insérer dans mon purebasicsuper ?

Merci :)

Re: api windows

Publié : lun. 07/janv./2013 11:27
par Micoute
Par exemple, comme ceci

Code : Tout sélectionner

Enumeration
#Fenetre
#Image_0
#Image_1
#FondBlanc
#ImageGadget
EndEnumeration

Hauteur = 200
Largeur = 400
CreateImage(#Image_0, Largeur,Hauteur) ; Image de ce qui est fixe
CreateImage(#Image_1, Largeur,Hauteur) ; image de ce qui est en cours dêtre dessiné

Procedure DessineFleche(x, y, Largeur)

StartDrawing(ImageOutput(#Image_1))
  
  DrawImage(ImageID(#Image_0), 0, 0)
  
  For i = 1 To Largeur
   LineXY(0, 10 + i, x - 40, 10 + i, RGB(226, 23, 29)) ; Horizontale
   LineXY(x - 40 + i, 11, x - 40 + i, y - 30, RGB(226, 23, 29)) ; Verticale
   LineXY(x - 40 + i, y - 30, x - 60 + i, y - 60, RGB(226, 23, 29)) ; Bord fleche gauche
   LineXY(x - 40 + i, y - 30, x - 20 + i, y - 60, RGB(226, 23, 29)) ; Bord fleche droit
  Next 
  
StopDrawing()

SetGadgetState(#ImageGadget,ImageID(#Image_1))
RedrawWindow_(WindowID(#Fenetre), 0, 0, #RDW_INVALIDATE|#RDW_UPDATENOW)

EndProcedure

OpenWindow(#Fenetre, 417, 181, 600, 500, "Fleche et souris", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
ImageGadget(#ImageGadget, 100, 100, Largeur,Hauteur, ImageID(#Image_1))

StartDrawing(ImageOutput(#Image_0))
FillArea(0, 0, RGB(255,255,255), RGB(255,255,255))
StopDrawing()

DessineFleche(Largeur, Hauteur, 10)
      
Repeat  

Evenement = WaitWindowEvent()

  Select Evenement
   
   Case #WM_MOUSEMOVE
   
      MouseX = WindowMouseX(#Fenetre)
      MouseY = WindowMouseY(#Fenetre)
      
      If GetAsyncKeyState_(#VK_LBUTTON)
       DessineFleche(mousex - GadgetX(#ImageGadget), mousey - GadgetY(#ImageGadget), 15)
      EndIf         

   EndSelect

Until Evenement = #PB_Event_CloseWindow

Re: api windows

Publié : lun. 07/janv./2013 14:47
par coxco
ok merci pour l'info

Il y aurait pas une aide globale pour insérer les api windows dans un programme en purebasic ?

:)

Re: api windows

Publié : lun. 07/janv./2013 15:44
par Ar-S
Salut
Des aides globales non mais plein d'exemples oui.
Tu peux suivre ce fil de discution

Re: api windows

Publié : mar. 08/janv./2013 9:26
par coxco
Merci je vais suivre et merci pour la traduction !!
ça va bien m'aider :D