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

Windows Forms Discussion :

Superposition de controles


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut Superposition de controles
    Bonjour tout le monde, voici mon problème :

    Je développe un clavier qui sera utilisé dans une petite application pour ordinateurs à écran tactiles. J'ai des besoin assez spécifiques et j'aimerais un coup de main sur un problème que je n'arrive pas à résoudre.

    Voici l'existant :

    J'ai une form avec deux Panel, panel1 et panel2.

    • panel1 contient la TextBox qui va quant à elle contenir ce qu'aura "tapé" l'utilisateur.
    • panel2 contient un TableLayoutPanel dans lequel j'ai rajouté des Cbuttons (boutons que j'ai créé moi-même pour des besoin spécifiques). Ces derniers sont ajoutés dynamiquement (possibilité d'avoir un clavier Qwerty, Azerty ou pavé numérique).


    J'ai rencontré une difficulté : quand j'appuie sur une touche, que je déplace mon doigt vers une autre touche, et que je décolle mon doigt de l'écran, l'évènement "MouseUp" est produit pour le bouton sur lequel j'ai appuyé, et non pas celui sur lequel j'ai lâché mon "emprise".

    A mon avis, le problème vient du fait que les boutons sont dans les cellules et que la souris, bouton enfoncé, ne peut changer de "repère". BREF ! Vous avez à peu près le problème, voici la solution à laquelle j'ai pensé : Un panel par dessus tout ça pour calculer la position de la souris et agir en conséquence. Tout va bien : j'ajoute le panel3 dans le panel2, lui donne la même location de mon TableLayoutPanel mais il se place en dessous du TableLayoutPanel... et est donc, évidement, inutile...

    Ma question est : Existe-t-il une notion de calque ou d'index de superposition en WinForm, me permettant d'indiquer que mon Panel doit être au dessus de mon TableLayoutPanel ?

    Merci d'avance d'avoir lu ce message jusqu'au bout ^^
    v3lkin

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    si tu prends 5 minutes, tu trouveras une réponse à ton problème dans une discussion qui a eu lieu en fin de semaine dernière...

    J'ai expliqué (code à l'appui) comment gérer, lorsqu'un mouseMove se produit faire en sorte que le focus change de bouton ou de controle meme si un controle a été "focused" par appui sur le bouton...

    Donc, ca devrait répondre à ton problème sans aucun soucis.

    Tu n'as pas besoin de t'emmerder avec ton panel supplémentaire.

    The Monz, Toulouse

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut
    Merci beaucoup

    Je me penche sur ta solution là, je vais voir si je peux l'appliquer à mon problème ( a priori c'est bien parti ;-)... même si j'ai 54 boutons donc ça risque d'être particulier de refiler le focus comme ça..)

    Merci encore ^^

    #### EDIT ####

    Je donne le lien du thread où tu en discutes au cas où des gens qui ont le même problème tombent sur mon topic et ta solution peut les aider :

    Link -> Here !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut
    Bon, alors...

    Ta solution ne marche pas avec mes boutons, car je les fait hériter de labels (pour leur donner un comportement particulier). J'ai essayé de les faire hériter de Button, et là ça marche tout seul !

    Mais je me demande pourquoi ça ne marche pas avec des labels... un évènement supplémentaire est-il déclenché avec des buttons ?

    J'ai testé ta solution avec des label, ça ne fonctionne pas non plus... Ce sont donc bien les labels qui m'ennuient.


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut
    Merci ! Grâce à ta solution j'ai réussi à m'en sortir et mon clavier marche très bien (et surtout est moins lourd à lire, niveau source). Le clavier et niquel et tout fonctionne très bien !

    Merci encore !

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    pour info, il est possible que le MouseMove sur un label ne fonctionne pas...

    ou que l'event MouseDown sur un label ne soit pas activé

    Au pire, en surchargeant le WndProc() on pourrait surement arriver à forcer le label à s'en sortir... Maintenant, si tu as réussi à faire ce que tu veux, plus besoin de se casser la tête

    The Monz, Toulouse

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

Discussions similaires

  1. Superposition de controles
    Par coco21 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 31/05/2007, 11h02
  2. [VB6] [Interface] Nbre de contrôles maxi dans une feuille
    Par Midou dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 13/10/2002, 16h09
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [controle] propriété read only
    Par Fizgig dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/08/2002, 10h30
  5. Rx Controls Gif animés
    Par toufou dans le forum Composants VCL
    Réponses: 6
    Dernier message: 23/08/2002, 14h09

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