Taille et résolution d'écran

Le
michael
Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il une
piste
Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
tailles et des résolution différentes, donc quand je développe mon programme
sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
déssiner des graphique par exemple!!
comment peut on faire pour que le programme s'adapte à la résolution de
l'écran???
merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #16591841
Option Explicit
Sub Form_Activate()
Dim x As Double
Dim y As Double
Dim x1 As Double
Dim y1 As Double
x = Screen.Width / Screen.TwipsPerPixelX
y = Screen.Height / Screen.TwipsPerPixelY
x1 = ScaleX(Screen.Width, vbTwips, vbCentimeters)
y1 = ScaleY(Screen.Height, vbTwips, vbCentimeters)
End Sub

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" news:
| Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il
une
| piste...
| Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
| tailles et des résolution différentes, donc quand je développe mon
programme
| sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
| fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
| déssiner des graphique par exemple!!
| comment peut on faire pour que le programme s'adapte à la résolution de
| l'écran???
| merci d'avance
michael
Le #16592231
merci, cela me donne la résolution de l'écran a ce que je vois... mais
ensuite que dois je faire????? je ne vois pas trop... je dois insérer cela
dans chaque formulaire?

"LE TROLL" wrote:

Option Explicit
Sub Form_Activate()
Dim x As Double
Dim y As Double
Dim x1 As Double
Dim y1 As Double
x = Screen.Width / Screen.TwipsPerPixelX
y = Screen.Height / Screen.TwipsPerPixelY
x1 = ScaleX(Screen.Width, vbTwips, vbCentimeters)
y1 = ScaleY(Screen.Height, vbTwips, vbCentimeters)
End Sub

--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" news:
| Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il
une
| piste...
| Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
| tailles et des résolution différentes, donc quand je développe mon
programme
| sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
| fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
| déssiner des graphique par exemple!!
| comment peut on faire pour que le programme s'adapte à la résolution de
| l'écran???
| merci d'avance





Martin.boucher
Le #16592381
Salut,

Il te faudra calculer l'emplacement relative de tout les contrôles
présentes dans ta forme et affecter les nouvelles valeurs dans
l'évènement Resize de la forme.

Voici un exemple concret :


Private Sub Form_Resize()

On Error Resume Next

stbInfo.Panels(1).Width = Me.Width 2
sspProgressBar.Height = stbInfo.Height - 30

sspProgressBar.Width = (Me.Width 2) - 135
sspProgressBar.Left = stbInfo.Panels(1).Left +
stbInfo.Panels(1).Width
sspProgressBar.Top = stbInfo.Top + 30

Frame1.Width = Me.Width - 270
lvwLot.Width = Frame1.Width - 210

Frame1.Height = Me.Height - (1200)
lvwLot.Height = Frame1.Height - 755

cmdDétruire.Top = lvwLot.Top + lvwLot.Height + 75
cmdIndexer.Top = cmdDétruire.Top
cmdQuitter.Top = cmdDétruire.Top
cmdRafraîchir.Top = cmdDétruire.Top


cmdQuitter.Left = lvwLot.Left + lvwLot.Width - 1265
cmdIndexer.Left = cmdQuitter.Left - 1320
cmdRafraîchir.Left = cmdIndexer.Left - 1320

End Sub


On Thu, 21 Aug 2008 02:29:02 -0700, michael

Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il une
piste...
Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
tailles et des résolution différentes, donc quand je développe mon programme
sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
déssiner des graphique par exemple!!
comment peut on faire pour que le programme s'adapte à la résolution de
l'écran???
merci d'avance


jean-marc
Le #16592371
"michael" news:
merci, cela me donne la résolution de l'écran a ce que je vois... mais
ensuite que dois je faire????? je ne vois pas trop... je dois insérer cela
dans chaque formulaire?



Hello,

la question a été abordée de très nombreuses fois, ici et ailleurs.
La solution est qu'il n'y a pas de solutions magiques. La seule
solution consiste à ajouter beaucoup de code pour redimensionner
et redimmensionner de façon pertinente les contôles, cadres, frames, etc.

On peut aussi faire des forms scrollable, etc.:
http://faq.vb.free.fr/index.php?question0

Rien de compliqué, mais du code à écrire, dans tous les cas.

Il existe des applications commerciales qui sont supposées faire cela
de façon automatique. En pratique, rien de convainquant, au contraire !

La solution à tout ça : mettre du code dans form Resize et surtout faire
un design des forms qui se prête bien au redimensionnement.

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
LE TROLL
Le #16592481
Bonzour :o)

Ben... en fonction de la taille de l'écran, du gères la feuille,
sa taille, ce que tu mets dessus, par exemple:

select case tailleEcran
case 1
form.height = a
form.wight = b
graphique1.visible = false
graphique2.visible = false
case 2
form.height = c
form.wight = d
graphique1.visible = true
graphique2.visible = false
case 3
form.height = e
form.wight = f
graphique1.visible = true
graphique2.visible = true
end select

---
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"michael" news:
| merci, cela me donne la résolution de l'écran a ce que je vois... mais
| ensuite que dois je faire????? je ne vois pas trop... je dois insérer cela
| dans chaque formulaire?
|
| "LE TROLL" wrote:
|
| > Option Explicit
| > Sub Form_Activate()
| > Dim x As Double
| > Dim y As Double
| > Dim x1 As Double
| > Dim y1 As Double
| > x = Screen.Width / Screen.TwipsPerPixelX
| > y = Screen.Height / Screen.TwipsPerPixelY
| > x1 = ScaleX(Screen.Width, vbTwips, vbCentimeters)
| > y1 = ScaleY(Screen.Height, vbTwips, vbCentimeters)
| > End Sub
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> ------------------------------------------------------------------------------------
| > "michael" | > news:
| > | Bonjour, ceci est une question d'ordre général, peut être qqn aurait
t"il
| > une
| > | piste...
| > | Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
| > | tailles et des résolution différentes, donc quand je développe mon
| > programme
| > | sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution
plus
| > | fine, je me retrouve avec de grand espaces vide sur ma forme ou
j'aurais
| > | déssiner des graphique par exemple!!
| > | comment peut on faire pour que le programme s'adapte à la résolution
de
| > | l'écran???
| > | merci d'avance
| >
| >
| >
michael
Le #16592471
ouille ouille ouille...
Bon ben merci pour votre aide à tous, je suis pas sorti de l'auberge alors ;-)


"Martin Boucher" wrote:


Salut,

Il te faudra calculer l'emplacement relative de tout les contrôles
présentes dans ta forme et affecter les nouvelles valeurs dans
l'évènement Resize de la forme.

Voici un exemple concret :


Private Sub Form_Resize()

On Error Resume Next

stbInfo.Panels(1).Width = Me.Width 2
sspProgressBar.Height = stbInfo.Height - 30

sspProgressBar.Width = (Me.Width 2) - 135
sspProgressBar.Left = stbInfo.Panels(1).Left +
stbInfo.Panels(1).Width
sspProgressBar.Top = stbInfo.Top + 30

Frame1.Width = Me.Width - 270
lvwLot.Width = Frame1.Width - 210

Frame1.Height = Me.Height - (1200)
lvwLot.Height = Frame1.Height - 755

cmdDétruire.Top = lvwLot.Top + lvwLot.Height + 75
cmdIndexer.Top = cmdDétruire.Top
cmdQuitter.Top = cmdDétruire.Top
cmdRafraîchir.Top = cmdDétruire.Top


cmdQuitter.Left = lvwLot.Left + lvwLot.Width - 1265
cmdIndexer.Left = cmdQuitter.Left - 1320
cmdRafraîchir.Left = cmdIndexer.Left - 1320

End Sub


On Thu, 21 Aug 2008 02:29:02 -0700, michael

>Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il une
>piste...
>Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
>tailles et des résolution différentes, donc quand je développe mon programme
>sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
>fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
>déssiner des graphique par exemple!!
>comment peut on faire pour que le programme s'adapte à la résolution de
>l'écran???
>merci d'avance




LE TROLL
Le #16592461
Heu... précisions : on parle ici de redimensionner les objets, les polices
éventuellement, certes, mais à mon avis, une petite forme est toujours plus
agréable qu'un grand machin qui prend inutilement tout l'écran, et qui,
quand il va être lancé, va masquer inutilement d'autre applications déjà
présentes (multitâches). Si par exemple tu pars avec une police taille 12,
et que ton écran futur fait un mètre sur un mètre, tu ne vas pas mettre une
police de taille 72, ce serait exorbitant !

:o)

---
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"LE TROLL"
| Bonzour :o)
|
| Ben... en fonction de la taille de l'écran, du gères la feuille,
| sa taille, ce que tu mets dessus, par exemple:
|
| select case tailleEcran
| case 1
| form.height = a
| form.wight = b
| graphique1.visible = false
| graphique2.visible = false
| case 2
| form.height = c
| form.wight = d
| graphique1.visible = true
| graphique2.visible = false
| case 3
| form.height = e
| form.wight = f
| graphique1.visible = true
| graphique2.visible = true
| end select
|
| ---
| Romans, logiciels, email, site personnel
| http://irolog.free.fr/joe.htm
| ------------------------------------------------------------------------------------
| "michael" | news:
|| merci, cela me donne la résolution de l'écran a ce que je vois... mais
|| ensuite que dois je faire????? je ne vois pas trop... je dois insérer
cela
|| dans chaque formulaire?
||
|| "LE TROLL" wrote:
||
|| > Option Explicit
|| > Sub Form_Activate()
|| > Dim x As Double
|| > Dim y As Double
|| > Dim x1 As Double
|| > Dim y1 As Double
|| > x = Screen.Width / Screen.TwipsPerPixelX
|| > y = Screen.Height / Screen.TwipsPerPixelY
|| > x1 = ScaleX(Screen.Width, vbTwips, vbCentimeters)
|| > y1 = ScaleY(Screen.Height, vbTwips, vbCentimeters)
|| > End Sub
|| >
|| > --
|| > Merci beaucoup, au revoir et à bientôt :o)
|| > ------
|| > Romans, logiciels, email, site personnel
|| > http://irolog.free.fr/joe.htm
||
|
> ------------------------------------------------------------------------------------
|| > "michael" de
|| > news:
|| > | Bonjour, ceci est une question d'ordre général, peut être qqn aurait
| t"il
|| > une
|| > | piste...
|| > | Je fais un programme qui est déployé sur plusieurs PC ayant chacun
des
|| > | tailles et des résolution différentes, donc quand je développe mon
|| > programme
|| > | sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution
| plus
|| > | fine, je me retrouve avec de grand espaces vide sur ma forme ou
| j'aurais
|| > | déssiner des graphique par exemple!!
|| > | comment peut on faire pour que le programme s'adapte à la résolution
| de
|| > | l'écran???
|| > | merci d'avance
|| >
|| >
|| >
|
|
Driss HANIB
Le #16593021
salut michael,

sur planet-source-code un essai de control pour redimensionner
automatiquemnt tous les controles d'une feuille
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeIdX420&lngWId=1
une première piste..

Driss


"michael" news:
ouille ouille ouille...
Bon ben merci pour votre aide à tous, je suis pas sorti de l'auberge alors
;-)


"Martin Boucher" wrote:


Salut,

Il te faudra calculer l'emplacement relative de tout les contrôles
présentes dans ta forme et affecter les nouvelles valeurs dans
l'évènement Resize de la forme.

Voici un exemple concret :


Private Sub Form_Resize()

On Error Resume Next

stbInfo.Panels(1).Width = Me.Width 2
sspProgressBar.Height = stbInfo.Height - 30

sspProgressBar.Width = (Me.Width 2) - 135
sspProgressBar.Left = stbInfo.Panels(1).Left +
stbInfo.Panels(1).Width
sspProgressBar.Top = stbInfo.Top + 30

Frame1.Width = Me.Width - 270
lvwLot.Width = Frame1.Width - 210

Frame1.Height = Me.Height - (1200)
lvwLot.Height = Frame1.Height - 755

cmdDétruire.Top = lvwLot.Top + lvwLot.Height + 75
cmdIndexer.Top = cmdDétruire.Top
cmdQuitter.Top = cmdDétruire.Top
cmdRafraîchir.Top = cmdDétruire.Top


cmdQuitter.Left = lvwLot.Left + lvwLot.Width - 1265
cmdIndexer.Left = cmdQuitter.Left - 1320
cmdRafraîchir.Left = cmdIndexer.Left - 1320

End Sub


On Thu, 21 Aug 2008 02:29:02 -0700, michael

>Bonjour, ceci est une question d'ordre général, peut être qqn aurait
>t"il une
>piste...
>Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
>tailles et des résolution différentes, donc quand je développe mon
>programme
>sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution
>plus
>fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
>déssiner des graphique par exemple!!
>comment peut on faire pour que le programme s'adapte à la résolution
>de
>l'écran???
>merci d'avance






David
Le #16595951
Bonjour Michael,

J'ai retrouvé dans mes archives un programme en VB6
qui doit réagir aux résolutions d'écran.
Mais jamais utilisé "en vrai" dans un programme
Il tient même compte des combobox..
Je l'ai mis à votre intention ici :
http://users.skynet.be/DAVID/Fichiers_Tempo.htm

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"michael" news:
Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il
une
piste...
Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
tailles et des résolution différentes, donc quand je développe mon
programme
sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
déssiner des graphique par exemple!!
comment peut on faire pour que le programme s'adapte à la résolution de
l'écran???
merci d'avance


michael
Le #16600051
Merci pour les deux dernières interventions, cela à l'air vraiment très
intéressant, je vais regarder ca de très près!!
merci a tous
bon week end!

"David" wrote:

Bonjour Michael,

J'ai retrouvé dans mes archives un programme en VB6
qui doit réagir aux résolutions d'écran.
Mais jamais utilisé "en vrai" dans un programme
Il tient même compte des combobox..
Je l'ai mis à votre intention ici :
http://users.skynet.be/DAVID/Fichiers_Tempo.htm

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"michael" news:
> Bonjour, ceci est une question d'ordre général, peut être qqn aurait t"il
> une
> piste...
> Je fais un programme qui est déployé sur plusieurs PC ayant chacun des
> tailles et des résolution différentes, donc quand je développe mon
> programme
> sur mon petit 17'' et que je passe sur un 19'' ou avec une résolution plus
> fine, je me retrouve avec de grand espaces vide sur ma forme ou j'aurais
> déssiner des graphique par exemple!!
> comment peut on faire pour que le programme s'adapte à la résolution de
> l'écran???
> merci d'avance





Publicité
Poster une réponse
Anonyme