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 :

Provoquer l'affichage d'une bulle d'information


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut Provoquer l'affichage d'une bulle d'information
    Bonjour à tous!
    Je souhaiterai afficher une bulle d'info (Hint) lorsque je passe le curseur de la souris sur un point (3*3 pixels) d'un graphique dessiné sur un canvas. Dans celle-ci j'afficherai des informations concernant le point pointé (joli! ).
    Merci!

  2. #2
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonjour,

    Bien que n'ayant aucune idée de la manière dont est construit le graph, je dirais pour ma part dans un premier temps:
    . regarder du côté de PtInRect() (API win32), afin de savoir si la 'région' définie est survolée
    . regarder peut être du côte des sources : ici, car je crois me souvenir que cela peut aider afin de faire une bulle info personnalisée (même si le sujet de base - l'unicode - ne te concerne pas a priori)

    En espérant t'éclairer un peu
    Bon courage,
    @+

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Tu peux faclement donner une dimension à un point :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #define ptdim 3 
     
    TPoint P;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int left = P.x - ptdim;
    int right = P.x + ptdim;
    int top = P.y - ptdim;
    int bottom = P.y + ptdim;
    On sait donc faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if((X < right) && (X >= left) && (Y < bottom) && (Y >= top))
    Pour le hint lui-même, on fait comme on veut...
    On peut même mettre en place son propre hint, à l'aide de deux bitmaps, l'un pour gérer l'arrière plan et l'autre pour dessiner le hint lui-même...

    A plus !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut
    Merci de m'avoir répondu!
    J'avoue n'avoir pas donné beaucoup de details.
    Au fait, je représente un graphe à point en utilisant le composant Chart.
    Chaque point ayant naturellement les coordonnées (x,y) possède en plus ( dans mon cas ) une autre "information" propre à lui. Ce que je voudrais c'est que lorsque l'utilisateur passe le curseur de la souris (OnMouseMouve de Chart1) sur n'importe quel point qu'une info bulle apparaisse et lui donne l' "information" du point pointé.

    Mon graphe est une sorte de déroulement d'algorithme: l'axe des abcisses représente l'étape, celui des ordonnnées le coût d'une fonction et l' "information" les données ayant servi au calcul du coût.
    Voila, j'éspère m'être bien faite comprendre

  5. #5
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    hello,
    un tit bout de code permettant l'affichage d'un hint

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    THintWindow* myhint;
    myhint = new THintWindow(TComponent*);
    myhint->Color = clInfoBk;
    myhint->ActivateHint(TRect(left,top,right,bottom),content);
    hope it helps.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 69
    Par défaut
    Merci say pour votre proposition .
    Mais devrais-je gérer toute seule:
    -le fait que le rectangle du Hint s'affiche juste sous le pointeur de la souris,
    -ainsi que la durée d'affichage de ce rectangle
    ou bien y a-t-il des fonctions qui le font?
    Merci

  7. #7
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    Bjr,
    En ce qui concerne la zone d'affichage, c'est le TRect que vous devez définir...
    avec les coordonnées de la souris par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     myhint->ActivateHint(TRect(Mouse->CursorPos.x + 5,Mouse->CursorPos.y,right,bottom)
    en fait, le TRect, vous devez en définir les dimensions, left et top définissant où il démarre.

    pour arrêter l'affichage : (il me semble)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myhint->ReleaseHandle();
    @+

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

Discussions similaires

  1. [EJB] Erreur qui provoque l'affichage d'une page blanche
    Par narutoe dans le forum Java EE
    Réponses: 4
    Dernier message: 30/05/2012, 14h41
  2. affichage d'une bulle info sur un bouton disabled
    Par sallemel dans le forum Struts 1
    Réponses: 0
    Dernier message: 28/04/2009, 16h54
  3. VB6+VBS - Affichage d'une boite d'informations via une form en modal
    Par grouzieres dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 14/04/2008, 14h08
  4. Affichage d'une bulle explicative au passage de la souris
    Par TilKo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/04/2008, 15h41
  5. Aide sur l'affichage d'une bulle d'info svp
    Par Zan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/04/2006, 00h01

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