Adapter à la taille de l'ecran

francejulia Messages postés 21 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 17 juin 2009 - 28 oct. 2008 à 11:35
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 28 oct. 2008 à 21:38
salut
je suis un peu bloqué dans mon programme
j'ai crée un form qui ocupe toute la taille de mon ecran qui est à plus de 17 pouces
lorque je vais l'ouvrir dans une machine de 15 pouces, il m'est impossible de voir tout le formulaire
juste une partie est vue puisse que l'ecran est petit.
comment faire pour adapter mon formulaire à toute taille d'ecran
merci pour votre compréhension.

julie

8 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
28 oct. 2008 à 13:03
Bonjour,

ce n'est pas un problème de taille de l'écran mais plutot de résolution d'écran en pixels.
si tu veux que ton appli passe partout choisi de la dévelloper pour une résolution minimum.
actuellement le standard est de 1024 X 768

a+
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
28 oct. 2008 à 13:09
Bonjour,

Alors je dirai :
'*************************************************************************

'* Reformatage de la feuille en adaptant les controles présents

'*************************************************************************

Private Sub Form_Resize()

Dim ctl As Control

    '-- On vérifie que le l'état visuel de la Feuille n'est pas sur minimale

    '-- Si c'est le cas on sort de la procédure

    If (Me.WindowState = 1) Then Exit Sub

    '-- Pour chaque controle

    For Each ctl In Me.Controls

        '-- On vérifie le type de controle

        If TypeOf ctl Is ComboBox Then

            '-- Les comboboxes ont leur Propriété Height en lecture seule

            '-- On modifie les propriétées de Largeur, de position

            ctl.Move ctl.Left * Me.Width / Lng, ctl.Top * Me.Height / lLar, ctl.Width * Me.Width / lLng

        Else

            '-- On modifie les propriétées de Largeur, de hauteur, de position

            If ExistProperty(ctl, "Width") And ExistProperty(ctl, "Height") Then

                ctl.Move ctl.Left * Me.Width / lLng, ctl.Top * Me.Height / lLar, _

                ctl.Width * Me.Width / lLng, ctl.Height * Me.Height / lLar

            End If

        End If

    Next

    '-- On redéfini les variables

    lLng = Me.Width

    lLar = Me.Height

End Sub

'*************************************************************************

'* On test si la propriété du controle existe

'*************************************************************************

Public Function ExistProperty(Obj As Object, ByVal PropertyName As String) As Boolean

    '-- Fonction qui test les différentes propriétés a savoir si elle existe ou pas.

    On Error Resume Next

    CallByName Obj, PropertyName, VbGet
    ExistProperty (Err.Number 0)

    Err.Clear

End Function

<!-- Code colorisé via http://tools.codes-sources.com/colorizeCode.aspx
 -->

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
28 oct. 2008 à 13:11
Same player shoot again

'*************************************************************************
'* Reformatage de la feuille en adaptant les controles présents
'*************************************************************************

PrivateSub Form_Resize()
Dim ctl As Control

    '-- On vérifie que le l'état visuel de la Feuille n'est pas sur minimale
    '-- Si c'est le cas on sort de la procédure
    If (Me.WindowState = 1) ThenExitSub
    '-- Pour chaque controle
    ForEach ctl InMe.Controls
        '-- On vérifie le type de controle
        IfTypeOf ctl Is ComboBox Then
            '-- Les comboboxes ont leur Propriété Height en lecture seule
            '-- On modifie les propriétées de Largeur, de position
            ctl.Move ctl.Left * Me.Width / Lng, ctl.Top * Me.Height / lLar, ctl.Width * Me.Width / lLng
        Else
            '-- On modifie les propriétées de Largeur, de hauteur, de position
            If ExistProperty(ctl, "Width") And ExistProperty(ctl, "Height") Then
                ctl.Move ctl.Left * Me.Width / lLng, ctl.Top * Me.Height / lLar, _
                ctl.Width * Me.Width / lLng, ctl.Height * Me.Height / lLar
            EndIf
        EndIf
    Next
    '-- On redéfini les variables
    lLng = Me.Width
    lLar = Me.Height

EndSub

'*************************************************************************
'* On test si la propriété du controle existe
'*************************************************************************
PublicFunction ExistProperty(Obj AsObject, ByVal PropertyName AsString) AsBoolean

    '-- Fonction qui test les différentes propriétés a savoir si elle existe ou pas.
    OnErrorResumeNext
    CallByName Obj, PropertyName, VbGet    ExistProperty (Err.Number 0)
    Err.Clear

EndFunction

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
28 oct. 2008 à 13:19
Bonjour,

mdr c'est du vb6 ton truc lilith(salut)

a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
28 oct. 2008 à 14:03
Ben ouaip!!! a adapter....
On peut pas toujours tout donner tout cuit :-D
(Comment va?)

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
28 oct. 2008 à 14:39
bonjour,

ça me semble bien compliqué tout ce code alors qu'il y aurait une solution tres simple :

ta form tu la configures avec des dimensions standards (en general le 1024 X 768)
et si tu veux qu'elle soit en plein ecran quel que soit la resolution de l'ecran sur lequel tu travailles,
tu mets la propriété "WindowState" sur "Maximised"

a toi d'essayer si ça te convient...

_____________
 (débutant inside)
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
28 oct. 2008 à 16:28
@Tyrell2
Bonjour,
Ta solution est chouette mais certains pc en industrie sont encore avec des résolution en 800x600
de plus même si tu mets la propriété sur Maximised tu aura ta fenetre qui sera agrandi mais en aucun cas l'ensemble de tes composants ajusté à la taille...

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
28 oct. 2008 à 21:38
ben pour le premier point tu met ta cré ta form en 800x600 (meme en 640 x 480 si tu veux)

et pour le passage en maximised tu pourrais faire un truc du style : lecture de la resolution d'affichage du poste sur lequel tu executes le programme et deplacement des composants en fonction ...

pour lire la resolution tu as My.Computer.Screen.Bounds.Width  & 
My.Computer.Screen.Bounds.Height

ensuite pour deplacer un groupbox par exemple tu utilises

Me.GroupBox1.Size =
New System.Drawing.Size(xxx, yyy)

Me.GroupBox1.Location =
New Point(xx, xx)
ce qui ferait un truc du style : if largueur ecran 1024 then groupbox position
_____________
 (débutant inside)
0
Rejoignez-nous