IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

affichage plein écran d'un formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 6
    Points
    6
    Par défaut affichage plein écran d'un formulaire
    Bonjour à tous,
    Voila, j'ai paramétré mon formulaire pour que celui ci s'affiche en plein écran sur mon portable. Or, quand j'ai passé ma base sur un autre écran, mon formulaire ne s'ajuste pas automatiquement à la taille de celui ci.
    Sur un écran de plus petite taille (genre lcd) je dois, pour utiliser correctment mon formulaire, jouer avec les barres de défilement.
    Il y aurait il un moyen pour que l'affichage en plein écran du formulaire se fasse automatiquement en fonction de la taille de l'écran du pc utilisé??
    Merci à tous
    PS: je ne suis pas développeur, si vous pouviez adapter votre "langage" à celui-ci d'un débutant, ce serai super

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 034
    Points : 24 595
    Points
    24 595
    Par défaut
    bonjour ami du caillou !

    Lorsque l'on crée un formulaire sur un "écran" de petite taille 640x480 et que on l'utilise après sur un écran plus grand 800x600 ou 1024x768 il y a de la place vide. c'est normal.

    C'est quand on fait le contraire (grand écran vers petit écran) que le problème se corse.

    ACCESS ne dispose pas d'une fonction de réorganisation des objets automatiques. Il faut donc programmer la réorganisation. Ceci est un travail complexe et si tu es méticuleux dans l'emplacement de tes contrôles tu t'y arrachera les cheveux... vaut mieux être déjà chauve avant d'entreprendre un tel travail.

    Cependant tu pourras trouver sur le net (via google par exemple ou même dans les sources de DEVELOPPEZ.COM) des petits bouts de codes qui pourront t'aider.

    Espérant éclairé ta lanterne.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    salut ami du clavier,
    Merci pour l'info. Voila, en gros j'ai trouvé ce code sur le net, mais n'étant pas programmeur ( loin de là), je ne sais absolument pas qu'en faire.
    Où et à quel moment l'insérer dans le code de ma bdd??
    voici le code

    1. Option Explicit
    2.
    3. Private Declare Function StretchBlt Lib "gdi32.dll" ( _
    4. ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
    5. ByVal nWidth As Long, ByVal nHeight As Long, _
    6. ByVal hSrcDC As Long, ByVal xSrc As Long, _
    7. ByVal ySrc As Long, ByVal nSrcWidth As Long, _
    8. ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
    9.
    10. Private Const SRCCOPY = &HCC0020
    11.
    12. Private Sub CmdFermer_Click()
    13. End
    14. End Sub
    15.
    16. Private Sub Form_Load()
    17. Dim ctl As Control
    18. Dim HautStd As Integer
    19. Dim LargStd As Integer
    20. Dim OldWidthPic As Integer
    21. Dim OldHeightPic As Integer
    22. Dim EtatAutoRedraw As Boolean
    23.
    24. HautStd = Me.Height
    25. LargStd = Me.Width
    26. Me.Move 0, 0, Screen.Width, Screen.Height
    27. For Each ctl In Me.Controls
    28. If TypeOf ctl Is Timer Then
    29. ElseIf TypeOf ctl Is Line Then
    30. With ctl
    31. .X1 = ctl.X1 * Me.Width / LargStd
    32. .X2 = ctl.X2 * Me.Width / LargStd
    33. .Y1 = ctl.Y1 * Me.Height / HautStd
    34. .Y2 = ctl.Y2 * Me.Height / HautStd
    35. End With
    36. ElseIf TypeOf ctl Is Shape Then
    37. ctl.Move ctl.Left * Me.Width / LargStd, ctl.Top * Me.Height / HautStd, ctl.Width * Me.Width / LargStd, ctl.Height * Me.Height / HautStd
    38. ElseIf TypeOf ctl Is ComboBox Then
    39. ctl.Move ctl.Left * Me.Width / LargStd, ctl.Top * Me.Height / HautStd, ctl.Width * Me.Width / LargStd
    40. ElseIf TypeOf ctl Is PictureBox Then
    41. OldWidthPic = ctl.Width
    42. OldHeightPic = ctl.Height
    43. 'On sauvegarde l'état de l'AutoRedraw et on le met à True
    44. EtatAutoRedraw = ctl.AutoRedraw
    45. ctl.AutoRedraw = True
    46. 'On redimensionne le controle PictureBox
    47. ctl.Move ctl.Left * Me.Width / LargStd, ctl.Top * Me.Height / HautStd, ctl.Width * Me.Width / LargStd, ctl.Height * Me.Height / HautStd
    48. 'on redimensionne aussi l'image dans la picturebox
    49. StretchBlt ctl.hdc, 0, 0, ctl.Width, ctl.Height, ctl.hdc, 0, 0, OldWidthPic, OldHeightPic, SRCCOPY
    50. 'On efface l'ancienne image qui reste incrustée sinon
    51. ctl.Refresh
    52. 'On restaure l'état précédent
    53. ctl.AutoRedraw = EtatAutoRedraw
    54. 'Prise en compte des controls non redimensionnables(CommonDialog et Timer)
    55. ElseIf Not TypeOf ctl Is Timer Then 'Ajoutez "And Not TypeOf ctl Is CommonDialog" si vous utilisez des CommonDialogs
    56. 'Le contrôle est standard
    57. ctl.Move ctl.Left * Me.Width / LargStd, ctl.Top * Me.Height / HautStd, ctl.Width * Me.Width / LargStd, ctl.Height * Me.Height / HautStd
    58. ctl.FontSize = ctl.FontSize * Me.Width / 12000 'Plus le chiffre est grand plus les polices sont petites
    59. End If
    60. Next ctl
    61. End Sub

    Merci du coup de pouce

    PS: Jeu de mains, jeu de toulousains!!!!!!!!

  4. #4
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    oula ... un conseil utilise les balises de code et indente ton code, là ça n'incite vraiment pas les gens à décortiquer ton code

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 034
    Points : 24 595
    Points
    24 595
    Par défaut
    oui avec la balise code c'est mieux, par contre la numérotation de ligne est une très bonne idée... la preuve.

    Ligne 12,13,14
    Ceci est à enlever, la 13 provoquera une erreur, l'ensemble ne sert à rien.

    Ligne 24,25, 26,27, 31,32,33,34, 39, 57
    le mot clef Me indique que ce code doit être placer dans chaque formulaire.

    Tu peux également transformer cet appel en module indépendant, cela t'évitera la redondance de code.

    Pour cela :

    ligne 16 remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private sub form_load()
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public sub form_resize(frm as form)
    puis tous les Me par frm

    lors de l'appel dans l'évenement Load (Sur chargement) faire l'appel comme ceci

    Tout simplement.

    à bientôt ami du caillou.

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 034
    Points : 24 595
    Points
    24 595
    Par défaut
    Ce qui est étrange après essais c'est que ce code ne semble pas être fait pour ACCESS, peut-être pour VB.

    Le TypeOf est à remplacer par ControlType
    Les tests TIMER, LINE... sont également à remplacer.

    Je continus mon test.

  7. #7
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    TypeOf fonctionne trés bien sous Access

    Par contre ce qui indique clairement que c'est du VB :

    Les controles Access n'offre pas de propriété handle et encore moins de hdc. C'est bel et bien du VB non appliquable à access

Discussions similaires

  1. [A-03] Commande Close et affichage plein écran
    Par CabMaurice dans le forum IHM
    Réponses: 2
    Dernier message: 06/02/2009, 11h47
  2. Affichage plein écran MDIChild
    Par Xav++ dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/11/2006, 20h53
  3. affichage plein écran
    Par Davik dans le forum Access
    Réponses: 2
    Dernier message: 13/04/2006, 14h44
  4. Affichage plein écran en multi-écrans
    Par Martin Guélat dans le forum Périphériques
    Réponses: 4
    Dernier message: 12/04/2006, 11h20
  5. affichage plein écran
    Par TERRIBLE dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo