Page 1 sur 1

prendre focus programme externe redimentionner fenetre

Publié : mar. 08/nov./2011 17:27
par david
j'ai un programme au boulot sur lequel le bouton AGRANDIR n'est plus actif
le pb c'est que la fenetre du programme en question est toute petite

je souhaiterais donc réactiver cette option, voire me donner la possibilité de redimensionner cette fenetre

je n'ai rien codé sur PB depuis très (très très) longtemps
je ne suis même pas sur d'avoir encore de bonnes notions
si qq'un peut m'aider (et aussi commenter que j'y "revoi" clair)

merci d'avance a celui/ceux qui pourront m'aider
david

ps: je sais qu'il va falloir utiliser getfocus... mais après..; (hum)

Re: prendre focus programme externe redimentionner fenetre

Publié : mar. 08/nov./2011 18:24
par Ar-S
Salut,
Extrait de mon pack ars_libs, je ne sais plus si le code original est du soldat, G-Rom ou autre.

le prog utilise la commande API (magique) SendMessage_

Code : Tout sélectionner

;-WinCommand(ExternalWindowName$,NumCommand) ; Num commands : 1 2 3 4-------------------------
ProcedureDLL.s WinCommand(ExternalWindowName$,NumCommand) ; Num commands : 1 2 3 4
  hwnd = FindWindow_(0,ExternalWindowName$)
  If hwnd=0 
    MessageRequester("Erreur","Fenêtre "+ExternalWindowName$+ " introubable.",$50)
  Else
    Delay(100)
    If NumCommand=0
      NumCommand=#SC_MINIMIZE
    ElseIf NumCommand=1
      NumCommand=#SC_MAXIMIZE
    ElseIf NumCommand=2
      NumCommand=#SC_RESTORE
    ElseIf NumCommand=3
      NumCommand=#SC_CLOSE
    EndIf
    Delay(100)
    SendMessage_(hwnd,#WM_SYSCOMMAND, NumCommand,0)
  EndIf  
EndProcedure   
Donc en gros, avec une fenêtre nommée "Bloc-note",
utilise : WinCommand("Bloc-note", 1)

C'est sensé la maximiser. Maintenant si le programme est verrouillé ça risque d'être une autre histoire.

Re: prendre focus programme externe redimentionner fenetre

Publié : mar. 08/nov./2011 19:14
par david
alors, j'ai testé ça marche super bien.
malheureusement ça a agrandi la fenetre mais le cadre et les trucs a l'intérieur sont toujours aussi petit. je pensais que ça aurait eu l'effet d'un zoom

Re: prendre focus programme externe redimentionner fenetre

Publié : mar. 08/nov./2011 19:26
par Ar-S
Si c'est un zoom que tu veux, utilise la loupe :mrgreen:
Sans dec, ça doit être possible aussi en sendmessage mais il faudrait connaitre les handle fenetre et surtout ceux des les objets à agrandir.

Re: prendre focus programme externe redimentionner fenetre

Publié : mer. 09/nov./2011 21:07
par venom
Et oui david,

c'est bien beau d'agrandir la fenêtre mais forcement les différents gadgets eux ont toujours la même taille :) ils ne suivent pas la fenetre. :wink:







@++

Re: prendre focus programme externe redimentionner fenetre

Publié : mer. 09/nov./2011 21:47
par david
ben l'espoir fait vire... lol
en même temps je me rapelle bien que quand je définissait les gadgets... il fallait les positionner, ET les dimensionner
il fallait bien qu'un programme externe fasse de même
je me rapelle que pour intervenir sur les éléments (y compris extérieurs) il fallait connaitre leur nom...

je suis content quand même, il y a des petits trucs qui me reviennent (tout doucement)