Pureresize Largeur et longueur Max du gadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
fd
Messages : 70
Inscription : mar. 15/mars/2005 21:41
Localisation : Savoie

Pureresize Largeur et longueur Max du gadget

Message par fd »

Bonjour,

Je travaille actuellement avec PureResize pour adapter des Scrollarea à la fenêtre. Mais lorsque la Scrollarea est plus petite que la fenêtre cela génère de grande plage vide. Peut-on limiter la zone de PureResize par un max en largeur et en longueur, un peu comme pour la fenêtre support ?

Merci
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

je sait pas si c'est exactement ce que tu cherche mais regarde ceci

Code : Tout sélectionner

; Auteur : Flype
; Version de PB : 3.90
;
; Explication du programme :
; Limiter la taille de la fenêtre lors du redimensionnement de celle-ci.


Procedure.l WindowProc(HWnd.l, Msg.l, wParam.l, lParam.l)
  Protected Espace.Point, Taille_Fenetre.rect, MinMax.MINMAXINFO
  
  GetWindowRect_(WindowID(Window), @Taille_Fenetre) ; taille de la fenêtre totale
  ClientToScreen_(WindowID(Window), Espace) ; taille de la zone utilisable de la fenêtre (sans le titre et les bordures)
  
  Largeur_Bordure = Espace\X - Taille_Fenetre\Left ; largeur de la bordure droite, gauche ou basse d'une fenêtre
  Hauteur_Titre = Espace\Y - Taille_Fenetre\Top ; hauteur de la bordure de titre d'une fenêtre
  
  Result.l = #PB_ProcessPureBasicEvents
  
  If Msg = #WM_GETMINMAXINFO
    
    RtlMoveMemory_(@MinMax, lParam, SizeOf(MINMAXINFO))
    
    ; Taille minimum de la fenêtre
    MinMax\ptMinTrackSize\X = 300 + 2 * Largeur_Bordure
    MinMax\ptMinTrackSize\Y = 200 + Largeur_Bordure + Hauteur_Titre
    
    ; Taille maximum de la fenêtre
    MinMax\ptMaxTrackSize\X = 600 + 2 * Largeur_Bordure
    MinMax\ptMaxTrackSize\Y = 400 + Largeur_Bordure + Hauteur_Titre
    
    RtlMoveMemory_(lParam, @MinMax, SizeOf(MINMAXINFO))
    
  EndIf
  
  ProcedureReturn Result
EndProcedure
Répondre