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

Langage Delphi Discussion :

Déscactiver un élément du menu par défaut de TEdit


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut Déscactiver un élément du menu par défaut de TEdit
    Bonjour.
    Sous windows 7, les composants de type TEdit (par exemple) ont un popupmenu par défaut comprenant l'élément : "Insérer un caractère de contrôle unicode".
    Mon application stockant pour l'instant les données dans une base de données non unicode, je voudrais désactiver cet élément de menu.
    Comment faire ?


    Merci de ne pas répondre Changer la base de données ou affecter un popupmenu personnalisé à chaque composant... Je cherche une solution rapide à mettre en oeuvre en attendant des modifications futures.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    affecter un popupmenu personnalisé à chaque composant
    Cela te gène parce que tu t'imagines le faire manuellement ou parce que tu veux pas perdre d'autre élément du Menu ?
    Si c'est une problème d'IDE, tu peux le faire par une boucle sur Controls[] en code, cela sera assez rapide
    Si c'est un problème de fonctionnalité, va falloir fouiller dans la MSDN pour désactiver le Menu

    Enfin, dans le OnKeyPress ou ses copains, tu dois pouvoir traduire un caractère Unicode en Ansi, si il est Ansi tu l'accepte, si il est en dehors, tu le refuse en affectant 0

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    Salut.
    Je ne veux pas affecter un popupmenu car dans mon appli, les utilisateurs ont la possibilité de créer eux même leurs fenêtres.
    Je ne peux donc pas modifier la propriété popupmenu des composants dans les fenêtres crées par les utilisateurs.

    Effectivement, je pourrais le faire par programme en faisant une boucle sur tous les controles et pour ceux qui n'ont pas de popupmenu affecté,
    leur affecter un popupmenu que je créé moi même, mais c'est un peu lourd. Surtout si je veux remettre les menus comme couper,copier,coller dans le popup de remplacement.

    J'espere qu'il y a quelque chose de plus simple.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Citation Envoyé par butch Voir le message
    Salut.
    Je ne veux pas affecter un popupmenu car dans mon appli, les utilisateurs ont la possibilité de créer eux même leurs fenêtres.
    J'ai aussi fait une application avec écran personnalisable !
    Rien n'empêche de faire une boucle sur le composant chargé depuis un Stream.ReadComponent
    L'application que je maintenais stockais la fenêtre en XML et c'est un XSL qui générait le DFM !

    As-tu vérifier ce que donne OnKeyDown, OnKeyPress, OnKeyUp ... ça aussi tu peux l'affecter par une boucle !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 121
    Points : 48
    Points
    48
    Par défaut
    Je n'ai pas regardé du côté des onKeyPress..etc car on verrait tout de me même le menu windows apparaitre et les utilisateurs se demanderont pourquoi ça ne marche pas.
    Je pensais pouvoir modifer le menu avec les apis getMenu et modifyMenu, mais le hmenu renvoyé par getMenu(edit.handle) n'est pas valide. Et j'aurais visiblement du mal à mettre la main sur ce menu http://codenewsfast.com/cnf/article/...okmark.2227941


    Je vais modifier la fonction de message WM_CONTEXTMENU des
    composants qui posent pb. (Je ne propose pas des TEdit, mais des composants qui en héritent, je peux donc modifier leur comportement)


    Je pensais qu'il y aurait une solution plus simple
    Merci pour ton aide.

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 665
    Points : 25 459
    Points
    25 459
    Par défaut
    Effectivement OnContextPopup est bien léger !
    On peut juste annuler le Menu mais pas le modifier, je ne sais pas si WM_CONTEXTMENU fourni mieux !

Discussions similaires

  1. Accès aux éléments de Java par défaut?
    Par sonia5 dans le forum Général Java
    Réponses: 3
    Dernier message: 25/01/2010, 19h47
  2. [ZF 1.9] Activation d'un sous-menu par défaut
    Par gloumouth dans le forum MVC
    Réponses: 7
    Dernier message: 10/12/2009, 17h59
  3. Réponses: 1
    Dernier message: 19/01/2008, 09h17
  4. [WPF] ListBox sélectionner des élément par défaut
    Par JuTs dans le forum Framework .NET
    Réponses: 15
    Dernier message: 27/12/2007, 16h25
  5. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 16h31

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