ScrollArea qui ne marche pas oO

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

ScrollArea qui ne marche pas oO

Message par lepiaf31 »

bonjour, j'ai ptit probleme de ScrollArea: on ne peut pas descendre l'ascenseur :

Code : Tout sélectionner

UsePNGImageDecoder()

#Move_Open = 1 ;indique qu'on doit "ouvrir" la fenetre
#Move_Close = 2 ;indique qu'on doit "fermer" la fenetre

#Window_Height = 400
#Window_Width = 500
#Window_Tab_Width = 50 ;onglet
#Window_Tab_Height = 100
#Window_Menu_Width = 150 ;menu à droite

#Window_Main = 0
Enumeration
  #ScrollArea
EndEnumeration

;images
Enumeration
  #Image_Settings
  #Image_Help
  #Image_Quit
EndEnumeration

Procedure WindowCallback(Window , message, wParam, lParam)
  res=#PB_ProcessPureBasicEvents
  Select message
    Case #WM_PAINT
      If Window = WindowID(#Window_Main)
        ;fond de la fenetre
        hBrush = CreateSolidBrush_(RGB(248, 250, 253))
        Rgn = CreateRoundRectRgn_(51, 1, 499, 399, 30, 30)
        Rgn2 = CreateRoundRectRgn_(1, 151, 69, 249, 30, 30)
        CombineRgn_(Rgn, Rgn, Rgn2, #RGN_OR)
        hDC=BeginPaint_(Window,ps.PAINTSTRUCT)
        FillRgn_(hDC, Rgn, hBrush)
        EndPaint_(Window, ps)
        DeleteObject_(Rgn)
        DeleteObject_(Rgn2)
        
        DeleteObject_(hBrush)
        ProcedureReturn 0
      EndIf

  EndSelect
  ProcedureReturn res
EndProcedure

Procedure   RemoveFromTaskbar(hwnd)
  If IsWindow_ (hwnd)
    a=hwnd : b= GetWindowLong_ (a, #GWL_HWNDPARENT ) : If b<>0 : a=b : EndIf ; Needed for "TaskAssign.exe".
    ShowWindow_ (a, #SW_HIDE ) : GetWindowRect_ (a,win.RECT) : w=win\right-win\left : h=win\bottom-win\top
    SetWindowLong_ (a, #GWL_EXSTYLE , #WS_EX_TOOLWINDOW ) : SetWindowPos_ (a,0,0,0,w-1,h-1, #SWP_NOMOVE )
    SetWindowPos_ (a,0,0,0,w,h, #SWP_NOMOVE|#SWP_SHOWWINDOW ) : ProcedureReturn 1
  EndIf
EndProcedure
Procedure OpenMainWindow(Window, Color)
  OpenWindow(Window, 0, 0, #Window_Width, #Window_Height, "Program Name", #PB_Window_ScreenCentered|#PB_Window_BorderLess)
  SetWindowColor(Window, RGB(124, 185, 252)) ;couleur bleu qui devriendra la bordure de la fenetre
  StickyWindow(Window, 1)
  RemoveFromTaskBar(WindowID(Window))
  
  ;on découpe la fenetre
  Rgn = CreateRoundRectRgn_(#Window_Tab_Width, 0, #Window_Width, #Window_Height, 30, 30) ;gros cadre
  Rgn2 = CreateRoundRectRgn_(0, (#Window_Height-#Window_Tab_Height)/2, #Window_Tab_Width+20, (#Window_Height-#Window_Tab_Height)/2+#Window_Tab_Height, 30, 30) ;languette
  CombineRgn_(Rgn, Rgn, Rgn2, #RGN_OR)
  SetWindowRgn_(WindowID(Window), Rgn, #True)
  DeleteObject_(Rgn)
  DeleteObject_(Rgn2)
  
  ;resolution
  ExamineDesktops()
  ScreenWidth = DesktopWidth(0)
  ScreenHeight = DesktopHeight(0)
  ResizeWindow(Window, ScreenWidth-#Window_Tab_Width, WindowY(Window), #PB_Ignore, #PB_Ignore) ;on place la fenetre

  ScrollAreaGadget(#ScrollArea, #Window_Tab_Width+10, 5, #Window_Width-#Window_Tab_Width-#Window_Menu_Width-15, #Window_Height-10, #Window_Width-#Window_Tab_Width-#Window_Menu_Width-40-18, 600, 10, #PB_ScrollArea_BorderLess)
  ;CloseGadgetList()
  SetGadgetColor(#ScrollArea, #PB_Gadget_BackColor, RGB(248, 250, 253))
  
  ;on peint la fentre
  SetWindowCallback(@WindowCallback(), #Window_Main)
  
EndProcedure



OpenMainWindow(#Window_Main, 0)
ExamineDesktops()
WindowState = 0 ;fenetre fermée
Move = 0 ;le fenetre n'est pas en mouvement
xOpened = DesktopWidth(0) - WindowWidth(#Window_Main)
xClosed = DesktopWidth(0) - 50
time = 0

HandCursor = LoadCursor_(0, #IDC_HAND)
Repeat
  
  ;-*****Mouvement de la fenetre*****
  If Move
    If Move = #Move_Open ;on doit ouvrir la fenetre
      StepWindow = -1
      xEnd = xOpened
      EndState = 1
    Else
      StepWindow = 1
      xEnd = xClosed
      EndState = 0
    EndIf
    
    If WindowX(#Window_Main)%10 = 0 
      If ElapsedMilliseconds() - time >= 1
        ResizeWindow(#Window_Main, WindowX(#Window_Main)+StepWindow, #PB_Ignore, #PB_Ignore, #PB_Ignore)
        time = ElapsedMilliseconds()
      EndIf
    Else
      ResizeWindow(#Window_Main, WindowX(#Window_Main)+StepWindow, #PB_Ignore, #PB_Ignore, #PB_Ignore)
      time = ElapsedMilliseconds()
    EndIf
    If WindowX(#Window_Main) = xEnd
      Move = 0
      State = EndState
    EndIf
  EndIf
  ;*********************************
  
  ;-*****Curseur de la souris*****
  MouseX = WindowMouseX(#Window_Main)
  MouseY = WindowMouseY(#Window_Main)
  If MouseX<=50 And MouseY>=150 And MouseY<=250 ;"languette"
    SetCursor_(HandCursor)
  EndIf
  ;*******************************
  
  Select WaitWindowEvent(1)
    Case #PB_Event_CloseWindow
      Break
      
    Case #WM_LBUTTONDOWN ;-clic
      If WindowMouseX(#Window_Main) <= 50 And WindowMouseY(#Window_Main) >= 150 And WindowMouseY(#Window_Main) <= 250
        Clic = 1
      EndIf
    
    Case #WM_LBUTTONUP
      If Clic
        Clic = 0
        If WindowMouseX(#Window_Main) <= 50 And WindowMouseY(#Window_Main) >= 150 And WindowMouseY(#Window_Main) <= 250
          If State = 0
            Move = #Move_Open
            time = ElapsedMilliseconds()
          Else
            Move = #Move_Close
            time = ElapsedMilliseconds()
          EndIf
        EndIf
      EndIf
  EndSelect
ForEver
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

chez moi ça marche 4.40Beta1 ! Mais j'ai du virer le resizewindow car je ne voyais pas la fenêtre !
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Ben normalement il y a une petite 'languette' à droite de l'ecran et quand on clique dessus, la fenetre apparait. Moi aussi ca marche si je retire le resizewindow mais je veux le laisser ^^
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

lepiaf31 a écrit :Ben normalement il y a une petite 'languette' à droite de l'ecran et quand on clique dessus, la fenetre apparait. Moi aussi ca marche si je retire le resizewindow mais je veux le laisser ^^
oups pardon !!! :P mais le scrollaera fonctionne tres bien même avec le resize chez moi ! j'ai aucun souci ! l'ascenceur fonctionne parfaitment
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Eh bien moi je ne peux pas descendre l'ascenseur :( Je l'ai testé sur 2 PC et toujours le meme probleme :(
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

lepiaf31 a écrit :Eh bien moi je ne peux pas descendre l'ascenseur :( Je l'ai testé sur 2 PC et toujours le meme probleme :(
quel version de PB ? car sur mon portable là je suis en 4.40beta 1
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Thyphoon a écrit : quel version de PB ? car sur mon portable là je suis en 4.40beta 1
Version 4.3
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Testé en 4.30 sans aucun soucis.
Par contre l'affichage est propre mais lorsque l'on re-clique sur la languette pour le faire disparaitre, le temps qu'il se replie, ça laisse une vielle trainée bien moche.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Bon ben moi je ne comprends pas pourquoi le scrollArea ne fonctionne pas ...
ça laisse une vielle trainée bien moche.
Je sais ca mais depend des machines, chez moi ca marche très bien, je n'ai pas de trainée. Mais je ne sais pas comment enlever cette trainée quand elle se produit.
Atomo
Messages : 207
Inscription : lun. 17/sept./2007 12:27

Message par Atomo »

Je te rassure...ou pas, j'ai le même problème avec le scrollarea, par contre je peux scroller avec la molette de la souris, je n'ai pas de trainée sinon.

Windows Vista SP2
PB 4.31
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Bon ben moi je peux meme pas scroller avec la souris ... je suis sous Vista SP1
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Bon alors tant que la fenetre n'est pas sortie de l'ecran, le ScrollArea fonctionne parfaitement mais dès qu'on fait disparaitre la fenetre et qu'on la fait réapparaitre, le ScrollArea ne marche plus :(
Quelqu'un connait une fonction pour "actualiser" le gadget ? J'ai bien essayé avec un UpdateWindow_() mais ca ne fonctionne pas =( .

Code : Tout sélectionner

UsePNGImageDecoder() 

#Move_Open = 1 ;indique qu'on doit "ouvrir" la fenetre 
#Move_Close = 2 ;indique qu'on doit "fermer" la fenetre 

#Window_Height = 400 
#Window_Width = 500 
#Window_Tab_Width = 50 ;onglet 
#Window_Tab_Height = 100 
#Window_Menu_Width = 150 ;menu à droite 

#Window_Main = 0 
Enumeration 
  #ScrollArea 
EndEnumeration 

;images 
Enumeration 
  #Image_Settings 
  #Image_Help 
  #Image_Quit 
EndEnumeration 

Procedure WindowCallback(Window , message, wParam, lParam) 
  res=#PB_ProcessPureBasicEvents 
  Select message 
    Case #WM_PAINT 
      If Window = WindowID(#Window_Main) 
        ;fond de la fenetre 
        hBrush = CreateSolidBrush_(RGB(248, 250, 253)) 
        Rgn = CreateRoundRectRgn_(51, 1, 499, 399, 30, 30) 
        Rgn2 = CreateRoundRectRgn_(1, 151, 69, 249, 30, 30) 
        CombineRgn_(Rgn, Rgn, Rgn2, #RGN_OR) 
        hDC=BeginPaint_(Window,ps.PAINTSTRUCT) 
        FillRgn_(hDC, Rgn, hBrush) 
        EndPaint_(Window, ps) 
        DeleteObject_(Rgn) 
        DeleteObject_(Rgn2) 
        
        DeleteObject_(hBrush) 
        ProcedureReturn 0 
      EndIf 

  EndSelect 
  ProcedureReturn res 
EndProcedure 

Procedure   RemoveFromTaskbar(hwnd) 
  If IsWindow_ (hwnd) 
    a=hwnd : b= GetWindowLong_ (a, #GWL_HWNDPARENT ) : If b<>0 : a=b : EndIf ; Needed for "TaskAssign.exe". 
    ShowWindow_ (a, #SW_HIDE ) : GetWindowRect_ (a,win.RECT) : w=win\right-win\left : h=win\bottom-win\top 
    SetWindowLong_ (a, #GWL_EXSTYLE , #WS_EX_TOOLWINDOW ) : SetWindowPos_ (a,0,0,0,w-1,h-1, #SWP_NOMOVE ) 
    SetWindowPos_ (a,0,0,0,w,h, #SWP_NOMOVE|#SWP_SHOWWINDOW ) : ProcedureReturn 1 
  EndIf 
EndProcedure 
Procedure OpenMainWindow(Window, Color) 
  OpenWindow(Window, 0, 0, #Window_Width, #Window_Height, "Program Name", #PB_Window_ScreenCentered|#PB_Window_BorderLess) 
  SetWindowColor(Window, RGB(124, 185, 252)) ;couleur bleu qui devriendra la bordure de la fenetre 
  StickyWindow(Window, 1) 
  RemoveFromTaskBar(WindowID(Window)) 
  
  ;on découpe la fenetre 
  Rgn = CreateRoundRectRgn_(#Window_Tab_Width, 0, #Window_Width, #Window_Height, 30, 30) ;gros cadre 
  Rgn2 = CreateRoundRectRgn_(0, (#Window_Height-#Window_Tab_Height)/2, #Window_Tab_Width+20, (#Window_Height-#Window_Tab_Height)/2+#Window_Tab_Height, 30, 30) ;languette 
  CombineRgn_(Rgn, Rgn, Rgn2, #RGN_OR) 
  SetWindowRgn_(WindowID(Window), Rgn, #True) 
  DeleteObject_(Rgn) 
  DeleteObject_(Rgn2) 
  
  ;resolution 
  ExamineDesktops() 
  ScreenWidth = DesktopWidth(0) 
  ScreenHeight = DesktopHeight(0) 

  ScrollAreaGadget(#ScrollArea, #Window_Tab_Width+10, 5, #Window_Width-#Window_Tab_Width-#Window_Menu_Width-15, #Window_Height-10, #Window_Width-#Window_Tab_Width-#Window_Menu_Width-40-18, 600, 10, #PB_ScrollArea_BorderLess) 
  ;CloseGadgetList() 
  SetGadgetColor(#ScrollArea, #PB_Gadget_BackColor, RGB(248, 250, 253)) 
  
  ;on peint la fentre 
  SetWindowCallback(@WindowCallback(), #Window_Main) 
  
EndProcedure 



OpenMainWindow(#Window_Main, 0) 
ExamineDesktops() 
State = 0 ;fenetre fermée 
Move = 0 ;le fenetre n'est pas en mouvement 
xOpened = DesktopWidth(0) - WindowWidth(#Window_Main) 
xClosed = DesktopWidth(0) - 50 
time = 0 

HandCursor = LoadCursor_(0, #IDC_HAND)

State = 1
ResizeWindow(Window, xOpened, WindowY(Window), #PB_Ignore, #PB_Ignore) ;on place la fenetre 
Repeat 
  
  ;-*****Mouvement de la fenetre***** 
  If Move 
    If Move = #Move_Open ;on doit ouvrir la fenetre 
      StepWindow = -1 
      xEnd = xOpened 
      EndState = 1 
    Else 
      StepWindow = 1 
      xEnd = xClosed 
      EndState = 0 
    EndIf 
    
    If WindowX(#Window_Main)%10 = 0 
      If ElapsedMilliseconds() - time >= 1 
        ResizeWindow(#Window_Main, WindowX(#Window_Main)+StepWindow, #PB_Ignore, #PB_Ignore, #PB_Ignore) 
        time = ElapsedMilliseconds() 
      EndIf 
    Else 
      ResizeWindow(#Window_Main, WindowX(#Window_Main)+StepWindow, #PB_Ignore, #PB_Ignore, #PB_Ignore) 
      time = ElapsedMilliseconds() 
    EndIf 
    If WindowX(#Window_Main) = xEnd 
      Move = 0 
      State = EndState 
    EndIf 
  EndIf 
  ;********************************* 
  
  ;-*****Curseur de la souris***** 
  MouseX = WindowMouseX(#Window_Main) 
  MouseY = WindowMouseY(#Window_Main) 
  If MouseX<=50 And MouseY>=150 And MouseY<=250 ;"languette" 
    SetCursor_(HandCursor) 
  EndIf 
  ;******************************* 
  
  Select WaitWindowEvent(1) 
    Case #PB_Event_CloseWindow 
      Break 
      
    Case #WM_LBUTTONDOWN ;-clic 
      If WindowMouseX(#Window_Main) <= 50 And WindowMouseY(#Window_Main) >= 150 And WindowMouseY(#Window_Main) <= 250 
        Clic = 1 
      EndIf 
    
    Case #WM_LBUTTONUP 
      If Clic 
        Clic = 0 
        If WindowMouseX(#Window_Main) <= 50 And WindowMouseY(#Window_Main) >= 150 And WindowMouseY(#Window_Main) <= 250 
          If State = 0 
            Move = #Move_Open 
            time = ElapsedMilliseconds() 
          Else 
            Move = #Move_Close 
            time = ElapsedMilliseconds() 
          EndIf 
        EndIf 
      EndIf 
  EndSelect 
ForEver
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Message par lepiaf31 »

Personne n'a d'idée ?? :( J'ai le meme probleme sous XP SP3
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Message par MLD »

Aucun problème. je suis sous XP3, avec deux écrans. Ta fenêtre chevauche sur les deux écrans. Regarde si le problème ne vient pas de la position de la fenêtre ?
zaphod
Messages : 135
Inscription : dim. 07/déc./2008 9:32

Message par zaphod »

Salut,
j'arrive à ça :

Code : Tout sélectionner

UsePNGImageDecoder() 

#Move_Open = 1 ;indique qu'on doit "ouvrir" la fenetre 
#Move_Close = 2 ;indique qu'on doit "fermer" la fenetre 

#Window_Height = 400 
#Window_Width = 500 
#Window_Tab_Width = 50 ;onglet 
#Window_Tab_Height = 100 
#Window_Menu_Width = 150 ;menu à droite 

#Window_Main = 0 
Enumeration 
  #ScrollArea 
EndEnumeration 

;images 
Enumeration 
  #Image_Settings 
  #Image_Help 
  #Image_Quit 
EndEnumeration 

Procedure WindowCallback(Window , message, wParam, lParam) 
  res=#PB_ProcessPureBasicEvents 
  Select message 
    Case #WM_PAINT 
      If Window = WindowID(#Window_Main) 
        ;fond de la fenetre 
        hBrush = CreateSolidBrush_(RGB(248, 250, 253)) 
        Rgn = CreateRoundRectRgn_(51, 1, WindowWidth(#window_main), 399, 30, 30) 
        Rgn2 = CreateRoundRectRgn_(1, 151, 69, 249, 30, 30) 
        CombineRgn_(Rgn, Rgn, Rgn2, #RGN_OR) 
        hDC=BeginPaint_(Window,ps.PAINTSTRUCT) 
        FillRgn_(hDC, Rgn, hBrush) 
        EndPaint_(Window, ps) 
        DeleteObject_(Rgn) 
        DeleteObject_(Rgn2) 
        
        DeleteObject_(hBrush) 
        ProcedureReturn 0 
      EndIf 

  EndSelect 
  ProcedureReturn res 
EndProcedure 

Procedure   RemoveFromTaskbar(hwnd) 
  If IsWindow_ (hwnd) 
    a=hwnd : b= GetWindowLong_ (a, #GWL_HWNDPARENT ) : If b<>0 : a=b : EndIf ; Needed for "TaskAssign.exe". 
    ShowWindow_ (a, #SW_HIDE ) : GetWindowRect_ (a,win.RECT) : w=win\right-win\left : h=win\bottom-win\top 
    SetWindowLong_ (a, #GWL_EXSTYLE , #WS_EX_TOOLWINDOW ) : SetWindowPos_ (a,0,0,0,w-1,h-1, #SWP_NOMOVE ) 
    SetWindowPos_ (a,0,0,0,w,h, #SWP_NOMOVE|#SWP_SHOWWINDOW ) : ProcedureReturn 1 
  EndIf 
EndProcedure 
Procedure OpenMainWindow(Window, Color) 
  OpenWindow(Window, 0, 0, #Window_Width, #Window_Height, "Program Name", #PB_Window_ScreenCentered|#PB_Window_BorderLess) 
  SetWindowColor(Window, RGB(124, 185, 252)) ;couleur bleu qui devriendra la bordure de la fenetre 
  StickyWindow(Window, 1) 
  RemoveFromTaskBar(WindowID(Window)) 
  
  ;on découpe la fenetre 
  Rgn = CreateRoundRectRgn_(#Window_Tab_Width, 0, #Window_Width, #Window_Height, 30, 30) ;gros cadre 
  Rgn2 = CreateRoundRectRgn_(0, (#Window_Height-#Window_Tab_Height)/2, #Window_Tab_Width+20, (#Window_Height-#Window_Tab_Height)/2+#Window_Tab_Height, 30, 30) ;languette 
  CombineRgn_(Rgn, Rgn, Rgn2, #RGN_OR) 
  SetWindowRgn_(WindowID(Window), Rgn, #True) 
  DeleteObject_(Rgn) 
  DeleteObject_(Rgn2) 
  
  ;resolution 
  ExamineDesktops() 
  ScreenWidth = DesktopWidth(0) 
  ScreenHeight = DesktopHeight(0) 

  ScrollAreaGadget(#ScrollArea, #Window_Tab_Width+10, 5, #Window_Width-#Window_Tab_Width-#Window_Menu_Width-15, #Window_Height-10, #Window_Width-#Window_Tab_Width-#Window_Menu_Width-40-18, 600, 10, #PB_ScrollArea_BorderLess) 
  ;CloseGadgetList() 
  SetGadgetColor(#ScrollArea, #PB_Gadget_BackColor, RGB(248, 250, 253)) 
  
  ;on peint la fentre 
  SetWindowCallback(@WindowCallback(), #Window_Main) 
  
EndProcedure 



OpenMainWindow(#Window_Main, 0) 
ExamineDesktops() 
State = 0 ;fenetre fermée 
Move = 0 ;le fenetre n'est pas en mouvement 
xOpened = DesktopWidth(0) - WindowWidth(#Window_Main) 
xClosed = DesktopWidth(0) - 50 
time = 0 

HandCursor = LoadCursor_(0, #IDC_HAND) 

State = 1 
ResizeWindow(Window, xOpened, WindowY(Window), #PB_Ignore, #PB_Ignore) ;on place la fenetre 
Repeat 
  
  ;-*****Mouvement de la fenetre***** 
  If Move 
    If Move = #Move_Open ;on doit ouvrir la fenetre 
      StepWindow = -1 
      xEnd = xOpened 
      EndState = 1 
    Else 
      StepWindow = 1 
      xEnd = xClosed 
      EndState = 0 
    EndIf 
    
    ;If WindowX(#Window_Main)%10 = 0 
    ; If ElapsedMilliseconds() - time >= 1 
    ;    ResizeWindow(#Window_Main, WindowX(#Window_Main)+stepwindow, #PB_Ignore,#PB_Ignore, #PB_Ignore) 
    ;    time = ElapsedMilliseconds() 
    ;  EndIf 
    ;Else 
   Delay(1)
      ResizeWindow(#Window_Main, WindowX(#Window_Main)+stepwindow, #PB_Ignore, #PB_Ignore, #PB_Ignore) 
    ;  time = ElapsedMilliseconds() 
    ;EndIf 
    If WindowX(#Window_Main) = xEnd 
      Move = 0 
      State = EndState 
    EndIf 
  EndIf 
  ;********************************* 
  
  ;-*****Curseur de la souris***** 
  MouseX = WindowMouseX(#Window_Main) 
  MouseY = WindowMouseY(#Window_Main) 
  If MouseX<=50 And MouseY>=150 And MouseY<=250 ;"languette" 
    SetCursor_(HandCursor) 
  EndIf 
  ;******************************* 
  
  Select WaitWindowEvent(1) 
    Case #PB_Event_CloseWindow 
      Break 
      
    Case #WM_LBUTTONDOWN ;-clic 
      If WindowMouseX(#Window_Main) <= 50 And WindowMouseY(#Window_Main) >= 150 And WindowMouseY(#Window_Main) <= 250 
        Clic = 1 
      EndIf 
    
    Case #WM_LBUTTONUP 
      If Clic 
        Clic = 0 
        If WindowMouseX(#Window_Main) <= 50 And WindowMouseY(#Window_Main) >= 150 And WindowMouseY(#Window_Main) <= 250 
          If State = 0 
            Move = #Move_Open 
            time = ElapsedMilliseconds() 
          Else 
            Move = #Move_Close 
            time = ElapsedMilliseconds() 
          EndIf 
        EndIf 
      EndIf 
  EndSelect 
ForEver
Répondre