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

Lazarus Pascal Discussion :

Changer la couleur d'une ProgressBar


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de Zankou
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 28
    Par défaut Changer la couleur d'une ProgressBar
    Bonjour !

    J'aimerais changer la couleur d'une ProgressBar pendant l'execution d'un programme. J'aimerais que quand l'utilisateur choisit quelque chose dans une liste, après que les bar se soient mise à jour, qu'elle change de couleur en fonction de leur remplissage. Donc j'ai tenté ceci :
    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
     
    if (StatsMonstres[Id1,1] <= 30) then
         BEGIN
           SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,clred);
         end;
      if ((StatsMonstres[Id1,1] > 30) and (StatsMonstres[Id1,1] <= 50)) then
         BEGIN
           SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,$000080FF);
         end;
      if ((StatsMonstres[Id1,1] > 50) and (StatsMonstres[Id1,1] <= 80)) then
         BEGIN
           SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,clyellow);
         end;
      if ((StatsMonstres[Id1,1] > 80) and (StatsMonstres[Id1,1] <= 110)) then
         BEGIN
           SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,clgreen);
         end;
      if (StatsMonstres[Id1,1] > 110) then
         BEGIN
           SendMessage(ProgressBar1.Handle,PBM_SETBARCOLOR,0,clAqua);
         end;
    Sauf que là, erreur le compilateur me renvoi le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    unit1.pas(185,40) Error: Identifier not found "PBM_SETBARCOLOR"
    Donc je regarde pendant longtemps sur internet, et je trouve, sur la F.A.Q de ce site, qu'il faut déclarer cette constante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PBM_SETBARCOLOR = WM_USER + 9;
    Je me dis que je suis tirer d'affaire... En faite non le compilateur me dit que c'est une déclaration illegal, et après quelques recherches je pense que c'est en faite une déclaration pour ceux qui sont sous Delphi.

    Vous pouvez vous dire que je ne suis pas sous windows, (c'était la plus part des réponses sous les autres forums) mais non je suis sous windows 7 (pc assez vieux).

    Je ne sais plus quoi faire, si vous avez des solution je sous tout oui.
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Yop !
    Citation Envoyé par Zankou Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PBM_SETBARCOLOR = WM_USER + 9;
    Je me dis que je suis tiré d'affaire... En fait non le compilateur me dit que c'est une déclaration illégale, et après quelques recherches je pense que c'est en fait une déclaration pour ceux qui sont sous Delphi.
    Exact.
    Tu tenteras donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PBM_SETBARCOLOR = LM_USER + 9;

  3. #3
    Membre averti Avatar de Zankou
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 28
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Yop !

    Exact.
    Tu tenteras donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PBM_SETBARCOLOR = LM_USER + 9;
    J'ai toujours la meme erreur

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 452
    Par défaut
    Bonjour,

    WM_USER fonctionne sous LAZARUS mais il faut un
    dans le code avant son utilisation...

    Cordialement

  5. #5
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Citation Envoyé par acaumes Voir le message
    WM_USER fonctionne sous LAZARUS mais il faut un
    dans le code avant son utilisation...
    Pas chez moi (mais j'ai une vieille, très vieille version).

    Par contre je viens de tester à l'instant que LM_USER fonctionne avec uses LMessages;.

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 452
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Par contre je viens de tester à l'instant que LM_USER fonctionne avec uses LMessages;.
    qui définit (LMessages)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    const
      LM_USER           = $400; // standard WM_USER value
      WM_USER           = LM_USER;
    donc cela doit être équivalent.

Discussions similaires

  1. Changer la couleur d'une ProgressBar
    Par thibab dans le forum VB.NET
    Réponses: 20
    Dernier message: 30/12/2013, 10h50
  2. Changer la couleur d'une ProgressBar
    Par Kemanke dans le forum C++/CLI
    Réponses: 5
    Dernier message: 28/04/2009, 09h44
  3. changer la couleur d'une ProgressBar
    Par a_lincoln54 dans le forum C++Builder
    Réponses: 4
    Dernier message: 03/11/2008, 03h38
  4. Réponses: 8
    Dernier message: 14/05/2004, 11h18
  5. [VB6]Changer la couleur d'une ligne d'un ListView
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/03/2003, 17h02

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