Problème d' un UserControl Container

Résolu
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 24 août 2006 à 14:03
tservolle Messages postés 28 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 22 janvier 2007 - 17 oct. 2006 à 11:58
Bonjour,


J' ai un Label UserControl dont la seule fonction est de s' ouvrir et
de se refermer en jouant sur sa propriété "Height".J' ai choisi un Label
pour avoir une transparence.
J' ai défini la propriété ControlContainer de cet UserControl à True de
façon à y placer d' autres contôls : essentiellement des Labels.Ainsi
lorsqu' il se ferme, ces derniers ne sont plus visibles (sorte de menu déroulant)
Jusque là tout va bien.
Le problème c' est que je suis obligé de cliquer deux fois pour éxecuter la procédure Label(x)_Click. Je suppose que lors du premier Click, c' est le UserControl qui prend le Focus. Les Labels ne possédant pas de Focus,
je ne peux alors pas jouer sur ça. Et je ne veux pas d' autres choses que des Labels.
Comment contourner ce problème...? Je compte sur vous...
Merci.

12 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
24 août 2006 à 14:05
Pourquoi avoir mis un label comme container, pourquoi pas une frame ?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
24 août 2006 à 14:30
Ca devient du luxe, mais tu peux essayer d'intercepter le clic avec des API puis de vérifier s'il est dans le cadre de ton Label...
Le frame ne peut pas être transparent ?
(Ou bien alors une picture box dans laquelle tu peints manuellement le fond du form pour faire comme si elle était transparente... Mais je sais pas si une picture box solutionnerait ton prob...)
3
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 août 2006 à 14:53
salut,
frame transparent -> non. (sauf composants form2.0 mais non redistribuables)

pourquoi ne pas gérer l'évènement du click du usercontrol directement et voir ensuite selon les x y si/quel label s'y trouve?
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 août 2006 à 15:32
le for each est là pour çà... pas besoin de savoir combien de labels tu as pour savoir leur existance et position
de plus, rien ne t'empêche d'avoir un tableau de ces dimensions si besoin. tu peux même alors directement écrire sur le usercontrol et de passer des labels... (à voir avec la transparence si çà ne poste pas de problème...)

ps : réponse acceptée, c'est normalement pour le/les posts qui te donnent une réponse. mais bon ^^
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 août 2006 à 17:32
tu dois créer dynamiquement tes items (labels)
inutile de poser 255 labels si le menu ne contient que 3 items.

pose juste ton premier label (Label1(0))
Load Label1(X)
Label1(X). visible=true, X=... Y=.. etc...

bonne chance
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 août 2006 à 14:46
Merci tout d' abord d' avoir répondu aussi vite,
^^Le frame ne peut pas être transparent ?
    Est-ce possible ?

^^(Ou bien alors une picture box dans laquelle tu peints manuellement le fond du form pour faire comme si elle était transparente.
J' ai en effet un fond mais avec une image.Et donc je dois découper la partie correspondante à l' emplacement ou se placera ma PictureBoxContainer et placer cette partie découpée dans celle-ci.
Le problème c' est que peux être amené à ajouter d' autres labels dans cette PictureBox ou même changer son emplacement et donc je dois refaire le découpage.
En tout cas cette solution reste envisageable.et ça ne me coutera rien de redécouper
une fois le "menu" terminé.

Meci à vous deux.

chaibat
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 août 2006 à 15:12
Justement,
Je ne sais pas d' avance combien j' aurais de Labels (Items) dans mon
Pseudo-Menu.C' est varible selon les sous éléments dans le même prog et selon les
progs.Car je compte bien le réutiser à la fois dans la même source et dans plusieures autre. Et je ne veux pas à chaque fois "réinventer la roue!"

En ce qui concerne Form2, tu as raison de le souligner. Il vaut mieux l' éviter.

Merci encore.

Réponses acceptées.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 août 2006 à 15:40
Merci PCPT,
Encore une solution acceptée.

Ps : j' ai coché toutes les réponses parce qu' elles ont toutes contribuées à
élaborer une solution.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 août 2006 à 17:07
Voilà, je vous expose ma synthèse.


Je crée mon UserControl
J' insére un Maximum de Labels indexés qui serveront d' items.
La caption de ceux qui constituront mon "Menu" serait indiquée.
Pour les autres, une chaine vides.


Mon UserControl aurait une Methode qui retourne l' index
du label sur lequel se produit le Click.


Dans mon programme , je récupère cet index et je défini l' action à
entreprendre selon sa valeur


Exemple :
X=MonUserControl.SelectedLabel
Select case X
..........
..........
..........
EndSelect


La hauteur Maximale du UserControl serait limitée par (le top du dernier
label dont la caption est différente de "") + (sa hauteur)+(quelques Twips).


Je ne sais pas ce que vous en pensez, mais moi je fonce ...
Si vous avez quelques choses à me suggerer dans ce sens
ça serait bien...


Souhaitez-moi bonne chance.

chaibat
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
24 août 2006 à 17:12
Bonne chance ^^

Julien.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
24 août 2006 à 21:04
Je prend.
Je savais que je pouvais compter sur vous
0
tservolle Messages postés 28 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 22 janvier 2007
17 oct. 2006 à 11:58
Salut j'a iune petite question,
comment as tu fait pour que ton controle puisse lorsqu'il se deroule sortir de son panel pere ???

tservolle
0