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

Free Pascal Discussion :

Redimensionner la fenêtre graphique


Sujet :

Free Pascal

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut Redimensionner la fenêtre graphique
    Bonsoir, j'essaye de faire des graphiques avec l'unité Graph.
    Tout marche bien sauf que la fenêtre graphique s'ouvre avec une taille maximale sur l’écran.
    1° Comment je peux réduire cette fenêtre ou faire un resize dynamique dans mon programme ?
    2° quand j'utilise l'instruction RestoreCRTMode pour retourner en mode textuel, la fenêtre graphique se ferme et aussi la fenêtre du mode textuel.

    Comment je peux résoudre mes deux problèmes ?
    Merci.

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 858
    Points
    20 858
    Billets dans le blog
    84
    Par défaut
    Bonjour, est-ce qu'on pourrait avoir un exemple de code, car les problèmes évoqués ne sont pas très clairs (pour moi, au moins ).
    Cordialement,

    Gilles

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut
    bonjour, dans mon code je fais


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    begin
     
    writeln('mode texte');
     
    initgraph(...);          
    detectgraph(...)
     
    OutTextXY (0,0,'mode graphique'); 
     
    end.

    j'obtiens deux fenêtres:

    la première est une console en mode texte dans la quelle on voit le message une deusiéme fenêtre qui contient la chaîne avec une taille grande.

    mon probléme est comment ajouter une instruction dans mon code pour redimensionner la deusiéme fenetre

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 963
    Points : 59 655
    Points
    59 655
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    La procédure SetViewPort ne résoudrait-elle pas le problème de taille de la fenêtre graphique ?


  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Bonjour,

    La procédure SetViewPort ne résoudrait-elle pas le problème de taille de la fenêtre graphique ?

    salut,
    j'ai essayé la procédure mais la taille ne change pas sauf qu'elle applique un masque sur la scène (la surface de la scène spécifiée par la procédure sera visible et le reste sera masqué)

  6. #6
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    peut être que tu dois utiliser des commandes DOS pour atteindre ton but .

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 085
    Points : 15 490
    Points
    15 490
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Je ne pense pas qu'il soit possible de modifier la taille de la fenêtre une fois qu'elle est ouverte. Il faut choisir la taille de la fenêtre au départ, parmi les options disponibles.

    Si vous travaillez sous Windows, je vous recommanderais d'utiliser plutôt l'unité WinGraph. Vous pourrez alors choisir à votre guise la taille de la fenêtre (mais vous ne pourrez toujours pas la redimensionner en cours de route).

  8. #8
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 085
    Points : 15 490
    Points
    15 490
    Billets dans le blog
    9
    Par défaut
    Voici un exemple montrant comment ouvrir une fenêtre graphique de 640 pixels sur 480. Lorsqu'on appuie sur une touche, la fenêtre se ferme et on retourne au mode texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    program initgraph1;
     
    {$MODE DELPHI}
     
    uses
      Graph,
      WinCrt; // pour la fonction ReadKey
     
    const
      S = 'Appuyez sur une touche !';
     
    var
      d, m: smallint;
     
    begin
      d := D8bit;
      m := M640X480;
      InitGraph(d, m, '');
     
      if GraphResult = GROK Then
      begin
        SetColor(YELLOW);
        SetTextStyle(DEFAULTFONT, HORIZDIR, 2);
        OutTextXY((GetMaxX - TextWidth(S)) div 2, (GetMaxY - TextHeight(S)) div 2, S);
        ReadKey;
        CloseGraph;
      end;
     
      WriteLn('Appuyez sur la touche Entr'#130'e !');
      ReadLn;
    end.

  9. #9
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 963
    Points : 59 655
    Points
    59 655
    Billets dans le blog
    2
    Par défaut
    Il est possible de déplacer et redimensionner la fenêtre graphique pendant l'exécution, avec la fonction MoveWindow de l'API. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MoveWindow(GraphWindow,10,10,200,100,true);
    Il faut ajouter l'unité Windows à la clause uses.


  10. #10
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 085
    Points : 15 490
    Points
    15 490
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Il est possible de déplacer et redimensionner la fenêtre graphique pendant l'exécution, avec la fonction MoveWindow de l'API.
    Ah oui, bien vu.

    De la même façon on peut changer le titre de la fenêtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetWindowText(GraphWindow, 'Mon titre');

  11. #11
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Il est possible de déplacer et redimensionner la fenêtre graphique pendant l'exécution, avec la fonction MoveWindow de l'API. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MoveWindow(GraphWindow,10,10,200,100,true);
    Il faut ajouter l'unité Windows à la clause uses.


    merci pour ta réponse mais j'ai pas compris le paramètre GraphWindow et par quoi je dois le remplacer.
    Citation Envoyé par Roland Chastain Voir le message
    Bonjour !

    Je ne pense pas qu'il soit possible de modifier la taille de la fenêtre une fois qu'elle est ouverte. Il faut choisir la taille de la fenêtre au départ, parmi les options disponibles.

    Si vous travaillez sous Windows, je vous recommanderais d'utiliser plutôt l'unité WinGraph. Vous pourrez alors choisir à votre guise la taille de la fenêtre (mais vous ne pourrez toujours pas la redimensionner en cours de route).
    comment je peux utiliser cette unité ? ou je mets les fichiers ?

  12. #12
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 963
    Points : 59 655
    Points
    59 655
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par je viens du sud Voir le message
    merci pour ta réponse mais j'ai pas compris le paramètre GraphWindow et par quoi je dois le remplacer.
    C'est le handle de la fenêtre graphique. Il ne faut le remplacer par rien, il s'agit d'une variable de l'unité Graph.

  13. #13
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 085
    Points : 15 490
    Points
    15 490
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par je viens du sud Voir le message
    comment je peux utiliser cette unité ? où je mets les fichiers ?
    Le plus simple est de mettre les fichiers au même endroit que ton programme. Autrement il faut indiquer au compilateur le chemin de l'endroit où tu as mis les fichiers.

  14. #14
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2010
    Messages : 146
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    C'est le handle de la fenêtre graphique. Il ne faut le remplacer par rien, il s'agit d'une variable de l'unité Graph.
    salut, j'obtiens j'ai un message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Error: Incompatible type for arg no. 1: Got VOID_POINTER, expected LONGINT

  15. #15
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 085
    Points : 15 490
    Points
    15 490
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par je viens du sud Voir le message
    j'ai un message d'erreur
    Pouvons-nous voir votre code et savoir quel est votre système d'exploitation ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/07/2006, 23h02
  2. redimensionner la fenêtre
    Par Darkyl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/02/2006, 15h55
  3. statusbar et redimensionnement de fenêtre
    Par yannickrohel dans le forum Windows
    Réponses: 1
    Dernier message: 28/01/2006, 13h50
  4. Redimensionnement automatique fenêtres
    Par licorne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/12/2005, 12h13
  5. Garder la fenêtre graphique ouverte
    Par wariom dans le forum C
    Réponses: 2
    Dernier message: 21/10/2005, 00h02

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