VB6 - Définir une résolution d'écran [Résolu]

SnapFAB
Messages postés
61
Date d'inscription
samedi 10 novembre 2007
Dernière intervention
5 mars 2011
- 1 déc. 2007 à 01:15 - Dernière réponse : SnapFAB
Messages postés
61
Date d'inscription
samedi 10 novembre 2007
Dernière intervention
5 mars 2011
- 1 déc. 2007 à 18:05
Bonjour, débutant dans la programmation sur VB6, voici mon problème :


Je sais (grâce à l'aide des forums ) connaître la résolution de mon écran dans mon programme avec les lignes suivantes :

<code class="vb_keyword1">Dim
x
As
Long, y
As
Long
x
=
Screen
.
Width
/
Screen
.
TwipsPerPixelX
'
résolution
horizontale

y
=
Screen
.
Height
/
Screen
.
TwipsPerPixelY
'résolution 
verticale
</code>


Par contre je souhaiterai que "x" et "y" deviennent des variables
publiques que je puisse reprendre en quittant mon programme. Car au
lancement de mon programme je force une résolution d'écran et je
voudrai remettre la résolution d'écran d'origine quand je quitte mon
programme. Donc j'ai essayé de mettre dans un module les lignes
suivantes :

Private x As Long, y As Long

x = Screen.Width / Screen.TwipsPerPixelX    'résolution horizontale

y = Screen.Height / Screen.TwipsPerPixelY   'verticale

Et voilà le message d'erreur que j'ai : "Invalid outside procedure"
J'ai essayé avec "Public" a la place de "Private" mais même erreur.

Merci beaucoup pour votre aide ...
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
24 juillet 2013
- 1 déc. 2007 à 02:40
3
Merci
Dans une procédure Sub ou Function dans une Form tu utilises tes 2 variables
Private sub Resolution
   
resx = Screen.Width / Screen.TwipsPerPixelX


    r


esy = Screen.Heigth /Screen.TwipsPerPixelY
End Sub

C'est
TwipsPerPixelX et non ScreenTwipsPerPixelX  Et pour Y c'est idem
J'ai mis un Screen de trop
Excuses

GRENIER Alain

Merci cs_Galain 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_Galain
cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
24 juillet 2013
- 1 déc. 2007 à 01:34
0
Merci
Salut

Dans un module tu déclares tes 2 variables publiques

Public resx As Long, resy As Long


<hr size="2" width="100%" />




Dans ta feuille au sein d'une procédure tu utilises tes variables



Private Sub Resolution()

resx = Screen.Width / Screen.TwipsPerPixelX    'résolution horizontale



resy = Screen.Height / Screen.TwipsPerPixelY   'verticale

End Sub



Appelle plutôt tes 2 variables resx et resy car c'est plus parlant

"Invalid outside procedure" : cela signifie que les 2 lignes de codes qui te
donnent les résolutions ne sont pas incluses dans une procédure SUB ou FUNCTION

Les déclarations de variable se font en début de feuille ou de module sans mettre de procédures ou juste après la déclaration d'une procédure si  elles ne servent qu'à cette procédure
GRENIER Alain
Commenter la réponse de cs_Galain
cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Dernière intervention
24 juillet 2013
- 1 déc. 2007 à 01:43
0
Merci
Excuse : le format du texte a été mal transmis

Dans un module tu déclares tes 2 variables
Public resx as long, resy as long

Dans une procédure Sub ou Function dans une Form tu utilises tes 2 variables
Private sub Resolution
   
resx = Screen.Width / ScreenTwipsPerPixelX


    r


esy = Screen.Heigth / ScreenTwipsPerPixelY
End Sub













GRENIER Alain
Commenter la réponse de cs_Galain
SnapFAB
Messages postés
61
Date d'inscription
samedi 10 novembre 2007
Dernière intervention
5 mars 2011
- 1 déc. 2007 à 02:23
0
Merci
Merci pour ta réponse si rapide,

Je viens de tester ton code mais j'ai malheureusement un nouveau message d'erreur au lancement du private sub :

"Compile error : Method or data member not found"

Pourquoi tant de haine ?
Commenter la réponse de SnapFAB
PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 1 déc. 2007 à 05:29
0
Merci
salut,

et le petit lien qui va bien.... :
http://www.vbfrance.com/doc/faq.aspx#vb_varpublic

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
SnapFAB
Messages postés
61
Date d'inscription
samedi 10 novembre 2007
Dernière intervention
5 mars 2011
- 1 déc. 2007 à 18:05
0
Merci
Super Alain, ça marche.
Merci mille fois !
Commenter la réponse de SnapFAB

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.