j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a
personnalisé son bureau avec la taille de police "extra large".
J'ai donc un problème avec la fonction Resize qui positionne trop loin les
derniers boutons en bas. J'ai aussi un problème avec la taille de police qui
est trop petite pour lui.
Quelqu'un saurait-il comment traiter le problème ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour SAISAS, SAISAS a écrit :
Bonjour,
j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a personnalisé son bureau avec la taille de police "extra large".
J'ai donc un problème avec la fonction Resize qui positionne trop loin les derniers boutons en bas. J'ai aussi un problème avec la taille de police qui est trop petite pour lui.
Quelqu'un saurait-il comment traiter le problème ?
Tu peux déterminer la hauteur de la barre de titre (et d'autres éléments : barre de menu, par exemple) avec l'API GetSystemMetrics :
Private Const SM_CYCAPTION = 4 Private Const SM_CYMENU = 15 Private Declare Function GetSystemMetrics Lib "user32" _ (ByVal nIndex As Long) As Long
Private Sub GetSizeInfos() Dim FormCaptionHeight As Long Dim MenuBarHeight As Long
FormCaptionHeight = GetSystemMetrics(SM_CYCAPTION) MsgBox FormCaptionHeight MenuBarHeight = GetSystemMetrics(SM_CYMENU) MsgBox MenuBarHeight End Sub
Tu pourras ainsi ajuster la manière dont tu positionnes les contrôles. (Le problème, bien que moins flagrant est identique avec l'affichage classique, et le look XP, où la barre de titre passe de 19 à 26 pixels)
En dehors de VB, et valable pour toutes les applications, il y a aussi la loupe (normalement dans Accessoires => Accessibilité) :
%SystemRoot%system32magnify.exe
-- Cordialement,
Jacques.
Bonjour SAISAS,
SAISAS a écrit :
Bonjour,
j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a
personnalisé son bureau avec la taille de police "extra large".
J'ai donc un problème avec la fonction Resize qui positionne trop loin les
derniers boutons en bas. J'ai aussi un problème avec la taille de police qui
est trop petite pour lui.
Quelqu'un saurait-il comment traiter le problème ?
Tu peux déterminer la hauteur de la barre de titre (et d'autres éléments
: barre de menu, par exemple) avec l'API GetSystemMetrics :
Private Const SM_CYCAPTION = 4
Private Const SM_CYMENU = 15
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Sub GetSizeInfos()
Dim FormCaptionHeight As Long
Dim MenuBarHeight As Long
FormCaptionHeight = GetSystemMetrics(SM_CYCAPTION)
MsgBox FormCaptionHeight
MenuBarHeight = GetSystemMetrics(SM_CYMENU)
MsgBox MenuBarHeight
End Sub
Tu pourras ainsi ajuster la manière dont tu positionnes les contrôles.
(Le problème, bien que moins flagrant est identique avec l'affichage
classique, et le look XP, où la barre de titre passe de 19 à 26 pixels)
En dehors de VB, et valable pour toutes les applications, il y a aussi
la loupe (normalement dans Accessoires => Accessibilité) :
j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a personnalisé son bureau avec la taille de police "extra large".
J'ai donc un problème avec la fonction Resize qui positionne trop loin les derniers boutons en bas. J'ai aussi un problème avec la taille de police qui est trop petite pour lui.
Quelqu'un saurait-il comment traiter le problème ?
Tu peux déterminer la hauteur de la barre de titre (et d'autres éléments : barre de menu, par exemple) avec l'API GetSystemMetrics :
Private Const SM_CYCAPTION = 4 Private Const SM_CYMENU = 15 Private Declare Function GetSystemMetrics Lib "user32" _ (ByVal nIndex As Long) As Long
Private Sub GetSizeInfos() Dim FormCaptionHeight As Long Dim MenuBarHeight As Long
FormCaptionHeight = GetSystemMetrics(SM_CYCAPTION) MsgBox FormCaptionHeight MenuBarHeight = GetSystemMetrics(SM_CYMENU) MsgBox MenuBarHeight End Sub
Tu pourras ainsi ajuster la manière dont tu positionnes les contrôles. (Le problème, bien que moins flagrant est identique avec l'affichage classique, et le look XP, où la barre de titre passe de 19 à 26 pixels)
En dehors de VB, et valable pour toutes les applications, il y a aussi la loupe (normalement dans Accessoires => Accessibilité) :
%SystemRoot%system32magnify.exe
-- Cordialement,
Jacques.
SAISAS
Merci pour ton aide ...
mais cette fonction ne donne pas le résultat attendu (en fait, elle semble retourner toujours 19). Pourtant, toutes mes recherches ont abouti à cette même fonction. Je m'interroge donc sur le pourquoi cela ne marche pas chez moi ...
J'ai trouvé du code pour récupérer la valeur (la fonction retourne la valeur de Me.Heght qu'il faut utiliser pour toujours positionner correctement le bouton, donc je remplace Me.Height par UsableHeight(Me) dans mon code (pour ne pas tout réecrire).
Public Function UsableHeight(ByVal Feuille As Form) As Long Dim Titre As TITLEBARINFO Dim window As RECT Dim Rc As Long
Bonjour SAISAS, SAISAS a écrit : > Bonjour, > > j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a > personnalisé son bureau avec la taille de police "extra large". > > J'ai donc un problème avec la fonction Resize qui positionne trop loin les > derniers boutons en bas. J'ai aussi un problème avec la taille de police qui > est trop petite pour lui. > > Quelqu'un saurait-il comment traiter le problème ? >
Tu peux déterminer la hauteur de la barre de titre (et d'autres éléments : barre de menu, par exemple) avec l'API GetSystemMetrics :
Private Const SM_CYCAPTION = 4 Private Const SM_CYMENU = 15 Private Declare Function GetSystemMetrics Lib "user32" _ (ByVal nIndex As Long) As Long
Private Sub GetSizeInfos() Dim FormCaptionHeight As Long Dim MenuBarHeight As Long
FormCaptionHeight = GetSystemMetrics(SM_CYCAPTION) MsgBox FormCaptionHeight MenuBarHeight = GetSystemMetrics(SM_CYMENU) MsgBox MenuBarHeight End Sub
Tu pourras ainsi ajuster la manière dont tu positionnes les contrôles. (Le problème, bien que moins flagrant est identique avec l'affichage classique, et le look XP, où la barre de titre passe de 19 à 26 pixels)
En dehors de VB, et valable pour toutes les applications, il y a aussi la loupe (normalement dans Accessoires => Accessibilité) :
%SystemRoot%system32magnify.exe
-- Cordialement,
Jacques.
Merci pour ton aide ...
mais cette fonction ne donne pas le résultat attendu (en fait, elle semble
retourner toujours 19). Pourtant, toutes mes recherches ont abouti à cette
même fonction. Je m'interroge donc sur le pourquoi cela ne marche pas chez
moi ...
J'ai trouvé du code pour récupérer la valeur (la fonction retourne la valeur
de Me.Heght qu'il faut utiliser pour toujours positionner correctement le
bouton, donc je remplace Me.Height par UsableHeight(Me) dans mon code (pour
ne pas tout réecrire).
Public Function UsableHeight(ByVal Feuille As Form) As Long
Dim Titre As TITLEBARINFO
Dim window As RECT
Dim Rc As Long
Bonjour SAISAS,
SAISAS a écrit :
> Bonjour,
>
> j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a
> personnalisé son bureau avec la taille de police "extra large".
>
> J'ai donc un problème avec la fonction Resize qui positionne trop loin les
> derniers boutons en bas. J'ai aussi un problème avec la taille de police qui
> est trop petite pour lui.
>
> Quelqu'un saurait-il comment traiter le problème ?
>
Tu peux déterminer la hauteur de la barre de titre (et d'autres éléments
: barre de menu, par exemple) avec l'API GetSystemMetrics :
Private Const SM_CYCAPTION = 4
Private Const SM_CYMENU = 15
Private Declare Function GetSystemMetrics Lib "user32" _
(ByVal nIndex As Long) As Long
Private Sub GetSizeInfos()
Dim FormCaptionHeight As Long
Dim MenuBarHeight As Long
FormCaptionHeight = GetSystemMetrics(SM_CYCAPTION)
MsgBox FormCaptionHeight
MenuBarHeight = GetSystemMetrics(SM_CYMENU)
MsgBox MenuBarHeight
End Sub
Tu pourras ainsi ajuster la manière dont tu positionnes les contrôles.
(Le problème, bien que moins flagrant est identique avec l'affichage
classique, et le look XP, où la barre de titre passe de 19 à 26 pixels)
En dehors de VB, et valable pour toutes les applications, il y a aussi
la loupe (normalement dans Accessoires => Accessibilité) :
mais cette fonction ne donne pas le résultat attendu (en fait, elle semble retourner toujours 19). Pourtant, toutes mes recherches ont abouti à cette même fonction. Je m'interroge donc sur le pourquoi cela ne marche pas chez moi ...
J'ai trouvé du code pour récupérer la valeur (la fonction retourne la valeur de Me.Heght qu'il faut utiliser pour toujours positionner correctement le bouton, donc je remplace Me.Height par UsableHeight(Me) dans mon code (pour ne pas tout réecrire).
Public Function UsableHeight(ByVal Feuille As Form) As Long Dim Titre As TITLEBARINFO Dim window As RECT Dim Rc As Long
Bonjour SAISAS, SAISAS a écrit : > Bonjour, > > j'ai un problème tout bête, un utilisateur qui y voit très mal. Il a > personnalisé son bureau avec la taille de police "extra large". > > J'ai donc un problème avec la fonction Resize qui positionne trop loin les > derniers boutons en bas. J'ai aussi un problème avec la taille de police qui > est trop petite pour lui. > > Quelqu'un saurait-il comment traiter le problème ? >
Tu peux déterminer la hauteur de la barre de titre (et d'autres éléments : barre de menu, par exemple) avec l'API GetSystemMetrics :
Private Const SM_CYCAPTION = 4 Private Const SM_CYMENU = 15 Private Declare Function GetSystemMetrics Lib "user32" _ (ByVal nIndex As Long) As Long
Private Sub GetSizeInfos() Dim FormCaptionHeight As Long Dim MenuBarHeight As Long
FormCaptionHeight = GetSystemMetrics(SM_CYCAPTION) MsgBox FormCaptionHeight MenuBarHeight = GetSystemMetrics(SM_CYMENU) MsgBox MenuBarHeight End Sub
Tu pourras ainsi ajuster la manière dont tu positionnes les contrôles. (Le problème, bien que moins flagrant est identique avec l'affichage classique, et le look XP, où la barre de titre passe de 19 à 26 pixels)
En dehors de VB, et valable pour toutes les applications, il y a aussi la loupe (normalement dans Accessoires => Accessibilité) :
%SystemRoot%system32magnify.exe
-- Cordialement,
Jacques.
Jacques93
SAISAS a écrit :
Merci pour ton aide ...
mais cette fonction ne donne pas le résultat attendu (en fait, elle semble retourner toujours 19). Pourtant, toutes mes recherches ont abouti à cette même fonction. Je m'interroge donc sur le pourquoi cela ne marche pas chez moi ...
Biarre effectivement, cela fonctionne bien chez moi, (W2K, XP SP2, Vista)
Titre Menu W2K/Classique 19 19 W2K/Classique XL 26 22
XP 26 20 XP XL 36 22
Vista 96 ppp 20 20 Vista 120 ppp 25 25
A tout hasard, tester Err.LastDllError, mais s'il y avait une erreur, GetSystemMetrics devrait renvoyer zéro.
-- Cordialement,
Jacques.
SAISAS a écrit :
Merci pour ton aide ...
mais cette fonction ne donne pas le résultat attendu (en fait, elle semble
retourner toujours 19). Pourtant, toutes mes recherches ont abouti à cette
même fonction. Je m'interroge donc sur le pourquoi cela ne marche pas chez
moi ...
Biarre effectivement, cela fonctionne bien chez moi,
(W2K, XP SP2, Vista)
Titre Menu
W2K/Classique 19 19
W2K/Classique XL 26 22
XP 26 20
XP XL 36 22
Vista 96 ppp 20 20
Vista 120 ppp 25 25
A tout hasard, tester Err.LastDllError, mais s'il y avait une erreur,
GetSystemMetrics devrait renvoyer zéro.
mais cette fonction ne donne pas le résultat attendu (en fait, elle semble retourner toujours 19). Pourtant, toutes mes recherches ont abouti à cette même fonction. Je m'interroge donc sur le pourquoi cela ne marche pas chez moi ...
Biarre effectivement, cela fonctionne bien chez moi, (W2K, XP SP2, Vista)
Titre Menu W2K/Classique 19 19 W2K/Classique XL 26 22
XP 26 20 XP XL 36 22
Vista 96 ppp 20 20 Vista 120 ppp 25 25
A tout hasard, tester Err.LastDllError, mais s'il y avait une erreur, GetSystemMetrics devrait renvoyer zéro.