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

C++Builder Discussion :

trackbar et curseur


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 44
    Par défaut trackbar et curseur
    Je travaille sur Borland C++ Builder et j'utilise un trackbar. J'aurais voulu savoir s'il est possible de changer le curseur, par exemple de le remplacer par une image téléchargée ?

    Sinon, est ce que quelqu'un aurait un composant qui permet de le faire ?

    Merci.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 164
    Par défaut
    Citation Envoyé par isa3000 Voir le message
    Je travaille sur Borland C++ Builder et j'utilise un trackbar. J'aurais voulu savoir s'il est possible de changer le curseur, par exemple de le remplacer par une image téléchargée ?

    Sinon, est ce que quelqu'un aurait un composant qui permet de le faire ?

    Merci.
    Bin d'après ce que j'ai vu dans le source de TTrackBar (ComCtrls.pas):

    class constructor TTrackBar.Create;
    begin
    TCustomStyleEngine.RegisterStyleHook(TTrackBar, TTrackBarStyleHook);
    end;

    C'est la classe TTrackBarStyleHook qui contient la méthode "Paint" qui redessine le contrôle, donc pas aussi évident que de simplement faire une classe qui hérite de TTrackBar et qui redéfinierait "Paint".

    Et puis, la lecture du code de "Paint" de "TTrackBarStyleHook" (toujours dans ComCtrls.pas) va rapidement te convaincre que ça serait probablement plus simple de trouver (ou mieux, d'écrire ) une composante qui te permettrait de mettre le curseur que tu veux.

    Ce n'est pas une composante qui est très difficile à écrire, je pourrais même y arriver!

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut isa3000
    Tu peu ameliorer ton composant en recuperant un canvas, c'est assez simple
    le code dans l'evenement onchange du composant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap();
    Bitmap1->LoadFromFile("C:\\Users\\home\\Documents\\Images\\Massiv10\\Bitmaps\\Arrow\\arcarrow1.bmp");
    TControlCanvas *ControlCanvas = new TControlCanvas();
    ControlCanvas->Control = TrackBar1;
    ControlCanvas->Brush->Color = clBlack;
    // color le bas du trackbar
    ControlCanvas->FillRect(Rect(0, 30, TrackBar1->Width, TrackBar1->Height ));
    // dessine sur le bas du trackbar
    ControlCanvas->Draw(0, 30, Bitmap1);
    delete ControlCanvas;
    sinon il y a sur le site CGI qui decrit la creation de plusieurs composants

  4. #4
    Membre expérimenté
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2012
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2012
    Messages : 164
    Par défaut
    Citation Envoyé par blondelle Voir le message
    Salut isa3000
    Tu peu ameliorer ton composant en recuperant un canvas, c'est assez simple
    le code dans l'evenement onchange du composant...
    Blondelle, j'adore la simplicité de ta solution. Les "TControlCanvas", je connaissais pas, je m'amuse avec ça demain matin!

Discussions similaires

  1. trackbar et position curseur
    Par isa3000 dans le forum C
    Réponses: 5
    Dernier message: 29/02/2012, 11h40
  2. curseur de TrackBar
    Par Othana dans le forum Windows Forms
    Réponses: 0
    Dernier message: 15/03/2010, 11h36
  3. Comment limiter les mouvements du curseur??
    Par scorpiwolf dans le forum C++Builder
    Réponses: 9
    Dernier message: 07/07/2002, 22h09
  4. Comment masquer le curseur de la souris ?
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/06/2002, 18h54
  5. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09

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