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 855
    Points
    20 855
    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
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  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 937
    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 937
    Points : 59 415
    Points
    59 415
    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 ?

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  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 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    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).
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  8. #8
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    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.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  9. #9
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    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 937
    Points : 59 415
    Points
    59 415
    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.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  10. #10
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    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');
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  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 937
    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 937
    Points : 59 415
    Points
    59 415
    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.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  13. #13
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    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.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  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 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    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 ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

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