Page 1 sur 1
Taille d'une fenêtre en incluant la barre de titre
Publié : mar. 10/oct./2006 18:38
par Droopy
Ce code renvoie la position de la fenêtre recherchée ( par son titre )
Mais uniquement la zone client, c'est à dire que ces fonctions ne renvoient pas la taille totale de la fenêtre, donc zone client + barre de titre.
Auriez vous une idée
Code : Tout sélectionner
handle=FindWindow_(0,"Titre de la fenêtre recherchée")
If handle
GetWindowRect_(handle,a.rect)
Debug a\left
Debug a\right
Debug a\top
Debug a\bottom
GetClientRect_(handle,a.rect)
Debug ""
Debug a\left
Debug a\right
Debug a\top
Debug a\bottom
SetWindowPos_(handle,#HWND_TOP,1276,0,1288,1028,#SWP_NOACTIVATE)
EndIf
Publié : mar. 10/oct./2006 19:10
par Flype
je ne suis pas sur de t'avoir bien compris droopy,
mais GetTitleBarInfo_() va sans doute t'aider
ou meme GetWindowInfo_() pour avoir la taille des bordures.
(?)
Code : Tout sélectionner
;--
#CCHILDREN_TITLEBAR = 5
Structure TITLEBARINFO
cbSize.l
rcTitleBar.RECT
rgstate.l[#CCHILDREN_TITLEBAR+1]
EndStructure
;---
Handle = FindWindow_(0, "jaPBe V3")
If Handle
If GetWindowRect_(Handle, rc.RECT)
Debug rc\left
Debug rc\right
Debug rc\top
Debug rc\bottom
Debug ""
EndIf
If GetClientRect_(Handle, rc.RECT)
Debug rc\left
Debug rc\right
Debug rc\top
Debug rc\bottom
Debug ""
EndIf
pwi.WINDOWINFO\cbSize = SizeOf(WINDOWINFO)
If GetWindowInfo_(Handle, pwi)
Debug pwi\cxWindowBorders
Debug pwi\cyWindowBorders
Debug ""
EndIf
pti.TITLEBARINFO\cbSize = SizeOf(TITLEBARINFO)
If GetTitleBarInfo_(Handle, pti)
Debug pti\rcTitleBar\left
Debug pti\rcTitleBar\right
Debug pti\rcTitleBar\top
Debug pti\rcTitleBar\bottom
Debug ""
EndIf
EndIf
Publié : mar. 10/oct./2006 21:07
par Droopy
Merci Flype, je vais regarder ça avec intéret.
A+

Publié : mer. 11/oct./2006 11:20
par nico
GetWindowRect renvoie bien la taille réelle de la fenêtre, il me semble?
Publié : mer. 11/oct./2006 14:13
par bernard13
je comprend rien c'est du chinois pour moi
Publié : mer. 11/oct./2006 14:16
par Droopy
Oui elle renvoie bien la taille réelle / son emplacement ( Fonctionne même si multi-écran )
Publié : mer. 11/oct./2006 17:13
par nico
Droopy a écrit :Oui elle renvoie bien la taille réelle / son emplacement ( Fonctionne même si multi-écran )
Ben alors c'est quoi le soucis?
Publié : mer. 11/oct./2006 17:38
par Flype
nico a écrit :Droopy a écrit :Oui elle renvoie bien la taille réelle / son emplacement ( Fonctionne même si multi-écran )
Ben alors c'est quoi le soucis?
ah, ouf, enfin qq qui ce dit la meme chose que moi
parceque moi aussi je comprends pas la premiere question.
Publié : mer. 11/oct./2006 18:44
par Droopy
Effectivement, désolé de vous avoir embêté mais le premier code posté fonctionnait.
Je pensais qu'il renvoyais des valeurs erronées car avec mon écran ( résolution de 1280x1024 ) avec une fenêtre en plein écran, cette fonction renvoie 1288x1032 à la position -4,-4 !
En fait il est normal d'avoir des valeurs non normales, il fallait juste le savoir.
Merci encore