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

MFC Discussion :

Preselection d'un Item d'un CMenu


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut Preselection d'un Item d'un CMenu
    Bonjour,

    est-il possible de preselectionner un item d'un menu ?
    l'dée est la suivante :
    lors d'un clic droit sur une image, le menu apparait. Pour faciliter l'utilisation, le 1er menu est preselectionné (il est surligné en bleu) de manière a ce que si l'utilisateur fait un dbl clic droit, l'action la plus courante est sélectionnée...

    Je cree le menu comme ca (classique)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CMenu menu;
    menu.CreatePopupMenu();
    menu.AppendMenu(MF_STRING, 1, "1ère option");
    menu.AppendMenu(MF_STRING, 2, "2ème option");
    menu.AppendMenu(MF_STRING, 3, "3ème option");
    et j'aimerai pré-selectionner la 2eme ligne par ex ..

    Y a t il une solution ou quelqu'un a t il une idée ou une piste ?

    V

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    J'ai peur que tu ne surprennes ton utilisateur.

    Les conventions et les habitudes veulent que cela soit le passage de la souris qui sélectionne une option de menu.

    Si tu sélectionnes la 1ere option (je ne sais pas comment) et que l'utilisateur arrive directement sur la 3eme option, il faudra en plus gérer le fait qu'il faut déselectionner la 1ere option.

    A mon avis, j'en resterai au fonctionnement de base des menus.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    Slt,

    je crois que je me suis mal expliqué : la préselection n'a pour but que de "highligther" le choix le plus couramment utilisé (par ex le choix 1). Si l'utilisateur bouge la souris pour aller sur le choix 3 par exemple, le choix 3 est "highlighted" et pas le choix 1 donc pas de changement des habitudes des utilisateurs..

    En revanche, si l'utilisateur veut séléectionner le choix 1, ca reviend a faire un dble-clic droit ...

    On veut utiliser ca pour definir des points dans des images et pour le faire de manière conventionnelles actuellement (clic droit, sélection 1er choix et clic droit), je dois dire que c'est assez pénible de toujours devoir bouger un peu la souris...

    V

  4. #4
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Tu n'as qu'à modifier très légèrement la typographie de l'option en question (celle accessible par double-clic), comme par exemple en la mettant en gras (technique communément employée pour ce genre de choses).

  5. #5
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    oui, ca je sais faire mais c'est pas pour autant que ca preselectionne l'item en question. Un dble-clic ne fonctionne pas dans ce cas, enfin ca renverra "no item selected" ...

    En fait, il faudrait deplacer le curseur de la souris sur cet item .... Tiens y'a de l'idee la dedans ....

  6. #6
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Tu m'as l'air de mélanger 2 choses : ton double clic ne doit pas fournir un événement de clic dans le menu, mais un événement qui fait lancer la même fonction que le clic dans le menu. Ai-je été clair ?

    Pour faire simple je vais te représenter succinctement la succession d'appels que tu veux faire :
    clic dans le menu -> gestion du clic dans le menu -> fonction choisie
    double-clic -> gestion double-clic -> clic dans le menu -> ...

    alors que tu devrais faire :
    clic dans le menu -> gestion du clic dans le menu -> fonction choisie
    doube-clic -> gestion double-clic -> fonction choisie

    Tu vois ce que je veux dire ?

  7. #7
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Il me semble qu'en général le menu contextuel est affiché de de telle sorte que la souris ne soit sur aucun item en particulier. Il faut bouger (même d'un cheveu) la souris pour accéder au premier item.
    Pour faire ce que tu veux, un moyen serait d'afficher le menu de telle sorte que la souris soit sur l'item par défaut que tu veux positionner. Mais cela me semble un peu tordu et plein de mauvaises surprises (problème de calculs, problèmes aux frontières de l'écran, etc.).
    Pourquoi ne pas mettre ton item de menu le + utilisé en début du menu contextuel ?

  8. #8
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    Slt

    Citation Envoyé par 3DArchi Voir le message
    Salut,
    Il me semble qu'en général le menu contextuel est affiché de de telle sorte que la souris ne soit sur aucun item en particulier.
    C'est ce qui se passe dans la pratique effectivement
    Citation Envoyé par 3DArchi Voir le message
    Il faut bouger (même d'un cheveu) la souris pour accéder au premier item.
    Pour faire ce que tu veux, un moyen serait d'afficher le menu de telle sorte que la souris soit sur l'item par défaut que tu veux positionner. Mais cela me semble un peu tordu et plein de mauvaises surprises (problème de calculs, problèmes aux frontières de l'écran, etc.).
    C'est que j'envisageais de faire ... Et compte-tenu de la position de des fenetres sur lesquelles le menu est susceptible de s'afficher, il ne devrait pas uy avoir trop de cas merdiques a depatouiller ....
    Citation Envoyé par 3DArchi Voir le message
    Pourquoi ne pas mettre ton item de menu le + utilisé en début du menu contextuel ?
    C'est actuellement le cas mais meme bouger d'un poil la souris quand on definit des points sur une images, c'est un peut penible ou bout de 10/15 points d'ou l'idee du dble-click ...
    Je vais voir si je peux opter pour double_click avant d'attaquer ce plan avec les menus ....

    V

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/04/2008, 12h04
  2. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  3. Comment effacer des Items d'un TListView ?
    Par boyerf dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/11/2002, 10h19
  4. Recuper les items de ListBox d'une autre application [API?]
    Par Shamanisator dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 27/09/2002, 12h32
  5. ListView->Items->Clear() !!! Qques probl de perf
    Par Nicolas_a69 dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/08/2002, 11h49

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