Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/04/2011, 17h40   #1
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 256
Points : 5 256
Par défaut rapport pixels / Twips

Bonjour,

Je suis entrain de mettre à jours des agendas...(gestion d'erreurs...) et suis confronté à 1 problème de conversion.

J'ai trouvé sur le net ceci:

Il y a "normalement" 96 pixels par inch (pouce).
Et 1440 Twips par inch.

Donc

1 pixel vaut normalement 1440/96=15 twips

Mais le nombre 96 de pixels par inch peut varier suivant certains paramétrages de l'affichage sous windows.


Je cherche donc un exemple VBA d'utilisation de la fonction api GetDeviceCaps, qui me permette de connaitre le nombre de Twips dans 1 Pixel, car je manque d'infos.

Merci beaucoup à tous !
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2011, 17h53   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Salut,

Connais-tu ceci ?
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2011, 17h58   #3
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 256
Points : 5 256
Salut Claude,

Oui j'ai parcouru ce lien, mais je souhaiterai juste 1 exemple de code VBA, car j'avoue que je n'ai pas trop l'habitude d'utiliser ce genre d'api

Edit: je reviens vers 21 heures...

__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/04/2011, 19h35   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Voila comment je fais.

Dans la section déclarations d'un module de code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
' --------------------------------------------------------------
' Pour retrouver caractéristiques écran
' --------------------------------------------------------------
Public Declare Function GetDC Lib "user32.dll" _
        (ByVal hWnd As Long) As Long
'
Public Declare Function ReleaseDC Lib "user32.dll" _
        (ByVal hWnd As Long, ByVal hDc As Long) As Integer
 
Public Const LOGPIXELSX As Long = 88 ' pixels dans 1 inch
Public Const LOGPIXELSY As Long = 90 ' pixels dans 1 inch
' 1 inch contient 1440 twips
'
Public Declare Function GetDeviceCaps Lib "Gdi32.dll" _
        (ByVal hDc As Long, ByVal nIndex As Integer) As Integer
Fonction me retournant le nombre de twips dans un pixel :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Function GetTwipPerPix(strDirection As String) As Single
Dim sglRes As Single, hDc As Long
' twip/inch divisé par pixel par inch -> twip/pixel
hDc = GetDC(0)
Select Case strDirection
    Case "x", "X"
        sglRes = 1440 / GetDeviceCaps(hDc, LOGPIXELSX)
    Case "y", "Y"
        sglRes = 1440 / GetDeviceCaps(hDc, LOGPIXELSY)
End Select
ReleaseDC 0, hDc
GetTwipPerPix = sglRes
End Function
L'argument de ma fonction est "x" ou "X" pour le nombre de twips par pixel horizontalement.
"y" ou "Y" verticalement.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/04/2011, 20h57   #5
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 256
Points : 5 256
Un grand Christophe,

ça fonctionne exactement comme je le souhaitais.

J'en profite pour saluer tout ce que tu fais pour les membres du forum. C'est vraiment super

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h31.


 
 
 
 
Partenaires

Hébergement Web