#WM_SIZING (notification)

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: #WM_SIZING (notification)

Message par pat »

Bonjour,

J'ai été un peu trop vite avec mon code car vous aurez des problèmes avec la fenêtre quand vous irez au bord supérieur de l'écran.
Voici le programme en entier avec les corrections apportées (et en plus c'est un peu plus court).

Code : Tout sélectionner

InitSprite();nécessaire pour l'exemple
Procedure WindowProc(hWnd,msg,wParam,lParam)
  If msg=#WM_SIZING
     GetWindowRect_(WindowID(0),old.rect)
     long.w=old\right-old\left
     haut.w=old\bottom-old\top
    *st.rect=lParam
    ecx.w=*st\right-*st\left-long
    ecy.w=*st\bottom-*st\top-haut
   If wParam=#WMSZ_LEFT or wParam=#WMSZ_RIGHT or wParam=#WMSZ_ BOTTOMRIGHT or wParam=#WMSZ_BOTTOMLEFT
     pc.f=(ecx*100)/long
    mt.f=(haut*pc)/100
     *st\bottom=old\bottom+mt
  Elseif  wParam=#WMSZ_TOP or wParam=#WMSZ_BOTTOM
   pc=(ecy*100)/haut
   mt=(long*pc)/100
   *st\right=old\right+mt
Elseif wParam=#WMSZ_TOPRIGHT or wParam=#WMSZ_TOPLEFT
  pc=(ecx*100)/long
  mt=(haut*pc)/100
If old\top-mt<0
  *st\top=0
  *st\bottom=old\bottom+mt
Else
  *st\top=old\top-mt
Endif
Endif
Endif
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
;-------------------------------------
lgf.w=300;détermine la longueur de la fenêtre
htf.w=200;détermine la hauteur de la fenêtre
;vous pouvez changer ces valeurs à votre guise
;--------------------------------------
If OpenWindow(0,0,0,lgf,htf,"Redimensionne moi !",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
OpenWindowedScreen(WindowID(0),0,0,lgf,htf,1,0,0)
WindowBounds(0,lgf,htf,lgf*3,htf*3)
SmartWindowRefresh(0,1)
SetWindowCallback(@WindowProc())
LoadFont(1,"Arial",30,#PB_Font_Underline|#PB_Font_Bold)
StartDrawing(ScreenOutput())
DrawingFont(FontID(1))
DrawText(0,0,"TESTER",RGB(170,170,170),0)
StopDrawing
Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow
Endif
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: #WM_SIZING (notification)

Message par Ar-S »

Constante introuvable #WMSZ_LEFT
~~~~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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: #WM_SIZING (notification)

Message par Backup »

chez moi ceci marche ;)

Code : Tout sélectionner

debug #WMSZ_LEFT
valeur renvoyé = 1
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: #WM_SIZING (notification)

Message par Ar-S »

debug #WMSZ_LEFT marche mais pas le code :?
~~~~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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: #WM_SIZING (notification)

Message par Backup »

normale !!

si tu avais utilisé EPB :lol:
tu aurai vu la coloration de la constante
#WMSZ_ BOTTOMRIGHT
(sur la meme ligne )
tu aurai alors vu qu'il y avait un espace entre _ B

donc c'est :#WMSZ_BOTTOMRIGHT (sans espace entre le _ et le B de BottomRight ;)

tu aura une autre erreur de syntaxe sur "StopDrawing" il manque les Parentheses ;)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: #WM_SIZING (notification)

Message par Ar-S »

Bien vu Dobro.
Bah alors Pat c'est quoi ce foutoir ! :lol:

Le code sans ces petites omissions.

Code : Tout sélectionner

InitSprite();nécessaire pour l'exemple
Procedure WindowProc(hWnd,msg,wParam,lParam)
  If msg=#WM_SIZING
    GetWindowRect_(WindowID(0),old.rect)
    long.w=old\right-old\left
    haut.w=old\bottom-old\top
    *st.rect=lParam
    ecx.w=*st\right-*st\left-long
    ecy.w=*st\bottom-*st\top-haut
    If wParam=#WMSZ_LEFT Or wParam=#WMSZ_RIGHT Or wParam=#WMSZ_BOTTOMRIGHT Or wParam=#WMSZ_BOTTOMLEFT
      pc.f=(ecx*100)/long
      mt.f=(haut*pc)/100
      *st\bottom=old\bottom+mt
    ElseIf  wParam=#WMSZ_TOP Or wParam=#WMSZ_BOTTOM
      pc=(ecy*100)/haut
      mt=(long*pc)/100
      *st\right=old\right+mt
    ElseIf wParam=#WMSZ_TOPRIGHT Or wParam=#WMSZ_TOPLEFT
      pc=(ecx*100)/long
      mt=(haut*pc)/100
      If old\top-mt<0
        *st\top=0
        *st\bottom=old\bottom+mt
      Else
        *st\top=old\top-mt
      EndIf
    EndIf
  EndIf
  ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
;-------------------------------------
lgf.w=300;détermine la longueur de la fenêtre
htf.w=200;détermine la hauteur de la fenêtre
;vous pouvez changer ces valeurs à votre guise
;--------------------------------------
If OpenWindow(0,0,0,lgf,htf,"Redimensionne moi !",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
  OpenWindowedScreen(WindowID(0),0,0,lgf,htf,1,0,0)
  WindowBounds(0,lgf,htf,lgf*3,htf*3)
  SmartWindowRefresh(0,1)
  SetWindowCallback(@WindowProc())
  LoadFont(1,"Arial",30,#PB_Font_Underline|#PB_Font_Bold)
  StartDrawing(ScreenOutput())
    DrawingFont(FontID(1))
    DrawText(0,0,"TESTER",RGB(170,170,170),0)
  StopDrawing()
  Repeat
    event=WaitWindowEvent()
  Until event=#PB_Event_CloseWindow
EndIf
P.S : le code fonctionne bien
Dernière modification par Ar-S le mar. 11/sept./2012 23:44, modifié 2 fois.
~~~~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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: #WM_SIZING (notification)

Message par Backup »

il doit etre bourré :)

bien cool ce code Merci ;)
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: #WM_SIZING (notification)

Message par Mindphazer »

Dobro a écrit :il doit etre bourré :)
Si je me souviens bien de ses précédents posts, Pat avait expliqué que son ordi n'avait pas de connexion internet du coup sur le forum pour poster des codes il est obligé de les taper à la mano (et inversement, pour récupérer des codes il les recopie à la main)
Pat, si tu passes par là....
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: #WM_SIZING (notification)

Message par Backup »

heu .. les clef USB ça existe ;)
meme dans un cyber café ... c'est jouable

a un moment T , il est bien obligé d'etre connecté au NEt
pour ecrire sur le forum ... c'est donc a ce moment qu'il pourrait utiliser une
Clef Usb me semble t'il :)

ecrire a la main, et recopier a la main, c'est un peu dingue de nos jours :lol:

voici ce qu'il ecrit
Pat a écrit :Ne me demandez pas de vous envoyer une image car l'Internet que j'utilise est complètement bridé (pas de téléchargement possible, pas de clé USB, pas de possibilité de lire des fichiers PDF, etc.).
heu .. c'est un minitel ?? :lol:
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: #WM_SIZING (notification)

Message par pat »

Bonjour,

Pour vous répondre, et comme je l'ai expliqué plusieurs fois, je vais dans un lieu public qui possède Internet mais dont l'accès est particulièrement bridé. Donc je peux lire des mails, envoyer des messages mais je ne peux rien envoyer par téléchargement et je n'ai pas la possibilité d'utiliser de clé USB car tout est bridé.
Bref, un Internet particulièrement bridé et peu performant. Pour vous dire également que le lieux public où je vais habituellement à Internet Explorer 6 et ne va pas plus loin et bien évidemment je ne peux pas décider quoi que ce soit. C'est gratuit donc on se la ferme.
Par contre, quelques fois par an, je vais télécharger PB pour mettre à jour le logiciel. Mais ça c'est beaucoup plus rare et bien évidemment je vais ailleurs pour le faire.
Vous comprendrez donc que j'ai tapé le code et pour la correction, j'ai du faire un copier/coller et rectifier le code manuellement. Donc s'il y a quelques fautes, c'est bien normal mais le code devrait bien fonctionner.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: #WM_SIZING (notification)

Message par Mindphazer »

Sans vouloir être désagréable, en 2012, avoir un ordinateur à la maison sans connexion internet c'est, comment dire..... un anachronisme ?
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: #WM_SIZING (notification)

Message par pat »

A Mindphazer.
J'ai fait ce choix de ne pas avoir Internet chez moi pour une question financière.
J'ai besoin d'utiliser peu Internet et donc je ne vois pas pourquoi je paierais tous les mois quelque chose que j'utilise que ponctuellement.
En tout cas le fait de ne pas avoir Internet chez moi ne m'empêche pas d'apprécier PB et de faire quelques programmes.
Avatar de l’utilisateur
Mindphazer
Messages : 695
Inscription : mer. 24/août/2005 10:42

Re: #WM_SIZING (notification)

Message par Mindphazer »

Ok
C'est un choix... étrange, mais c'est ton choix !
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
pat
Messages : 411
Inscription : mar. 24/nov./2009 15:13

Re: #WM_SIZING (notification)

Message par pat »

Dans ces temps difficiles que nous vivons : chômage, précarité... c'est une solution pour diminuer la note....
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: #WM_SIZING (notification)

Message par Ar-S »

On a pas tous les moyens de se payer le net, c'est ainsi. Y'a pas matière à polémiquer, on fait ce qu'on peut avec ce qu'on a. :)
en tout cas Pat t'embête pas tu as du voir que dobro a relevé les petites erreurs et j'ai posté le code corrigé.
Comme ça pas de soucis. :wink:
~~~~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
Répondre