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

Turbo Pascal Discussion :

[TPW] Changer le titre d'une fenêtre en cours d'exécution


Sujet :

Turbo Pascal

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut [TPW] Changer le titre d'une fenêtre en cours d'exécution
    Bonjour,

    Par ce code (par lequel je n'obtiens pas ce que je veux), je souhaiterais que le titre de la fenêtre d'exécution affiche un titre différent à chaque procédure :

    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
    33
    34
    35
    36
     
    procedure neufLettres;
    Strcopy(WindowTitle,'Mots de 9 lettres');
    screensize.x:=50;
    screensize.y:=600;
    windowsize.x:=800; 
    windowsize.y:=600; 
    InitWinCRT;
     
    ...code...
     
    end;
     
    procedure huitLettres;
    Strcopy(WindowTitle,'Mots de 8 lettres');
    screensize.x:=50;
    screensize.y:=600;
    windowsize.x:=800; 
    windowsize.y:=600; 
    InitWinCRT;
     
    ...code...
     
    end;
     
    {*** programme principal ***}
     
    begin 
    if choix='9' 
    then neufLettres;
    if choix='8'
    then huitLettres;
     
    ... code ...
     
    end.
    Que pensez-vous de ce code ?
    Merci beaucoup.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 663
    Points
    5 663
    Par défaut
    Fie,

    Tu as du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    screensize.x:=50;
    screensize.y:=600;
    windowsize.x:=800; 
    windowsize.y:=600; 
    InitWinCRT;
    qui est dupliqué x fois, c'est l'occasion ou jamais de faire une procédure.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    A chaque procédure, je n'arrive pas à modifier le titre de la fenêtre d'exécution. J'aimerais que la fenêtre d'exécution ait pour titre "Mots de 9 lettres" lorsque la procédure "neufLettres" est lancée, et pour titre "Mots de 8 lettres" lorsque la procédure "huitLettres" est lancée.

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 663
    Points
    5 663
    Par défaut
    Gie,

    En revenant voir après avoir eu des doutes, je m'aperçois que j'ai oublié de répondre à la question.

    Citation Envoyé par Aide de TPX
    You can change the title by storing a new string in WindowTitle before the CRT
    window is created.


    Here is an example:


    StrCopy(WindowTitle, 'Hello World');
    Le titre ne peut être modifié qu'avant la création de la fenêtre, or, je suppose que pour connaître le choix, tu as un petit affichage suivi d'une lecture, ce qui crée la fenêtre. Dès lors, le titre ne peut plus être modifié.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    Encore un rêve qui s'évanouit.....
    Merci beaucoup pour vos réponses.

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 947
    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 947
    Points : 59 545
    Points
    59 545
    Billets dans le blog
    2
    Par défaut
    Bonjour,
    Citation Envoyé par dimi2 Voir le message
    Encore un rêve qui s'évanouit.....
    Merci beaucoup pour vos réponses.
    Meunon meunon, il ne faut pas désespérer, l'API Windows peut encore t'aider dans ce cas :
    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
    Program Titres;
     
    Uses Strings, WinCRT, WinTypes, WinProcs;
     
    Var hFenetre : hWnd;
        Titre : Array [0..79] of Char;
     
    Begin
      InitWinCRT;
      hFenetre := GetFocus;
      StrCopy(Titre,'Titre 1');
      SetWindowText(hFenetre,Titre);
      ReadLn;
      StrCopy(Titre,'Titre 2');
      SetWindowText(hFenetre,Titre);
      ReadLn;
      DoneWinCRT;
    End.
    Tu récupères le handle de la fenêtre avec GetFocus et tu changes le titre de la fenêtre à volonté avec la fonction SetWindowText.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    Merci mille fois. Où trouvez-vous toutes ces solutions ?

  8. #8
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 947
    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 947
    Points : 59 545
    Points
    59 545
    Billets dans le blog
    2
    Par défaut
    Plaisir.

    En fait, la fenêtre WinCRT est une fenêtre Windows comme les autres; ce qui est valable pour les autres l'est donc aussi pour elle.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Points : 64
    Points
    64
    Par défaut
    Bonjour,
    Quels bons livres pourriez-vous me conseiller ?

  10. #10
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    MSDN : http://msdn2.microsoft.com/en-us/library/aa383749.aspx



    Ici tu as la liste des API Windows disponibles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer la couleur du titre d'une fenêtre
    Par Jinkas dans le forum Windows Forms
    Réponses: 3
    Dernier message: 29/06/2013, 23h04
  2. Réponses: 4
    Dernier message: 04/12/2007, 21h29
  3. Changer le titre d'une fenêtre dynamiquement
    Par Dnx dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/11/2005, 16h32
  4. Changer l'icône d'une fenêtre à partir d'un .res
    Par henderson dans le forum C++Builder
    Réponses: 8
    Dernier message: 11/03/2003, 10h48
  5. Réponses: 2
    Dernier message: 17/10/2002, 16h16

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