Controle affiché par dessus un autre

Résolu
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 20 déc. 2011 à 11:11
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 - 20 déc. 2011 à 12:26
Bonjour à tous,

Je créé un calendrier annuel à l'aide de contrôles MSHMonthGrid (1 par mois de l'année). Pour symboliser les vacances scolaires, je créé des contrôles lignes (1 par jour concerné) que je place ensuite dans les bonnes cellules du calendrier.

Dans l'ordre de création, j'opère comme ceci:
- Un passage par mois
- Pour chaque jour du mois, s'il fait partie de ces vacances scolaires, je Load un contrôle ligne, le positionne et le dimensionne (à ce moment là le contrôle Grid est invisible pour éviter des flashs à l'écran).
- Une fois le mois complet effectué, je rends visible la Grid, puis parcourt tous les contrôles lignes pour leur mettre ZOrder à 0 puis un Refresh. Enfin je fais un ZOrder(1) sur ma Grid.
Le problème est que mes lignes restent obstinément caché derrière ma Grid.
J'ai essayé avec et sans le refresh de ma form et/ou de ma Grid, rien à faire.

Quelqu'un aurait-il une idée pour afficher ces f... lignes.

Au cas où celai aurait une incidence, toute la fabrication se fait dans un module objet et non dans la forme pour ne pas alourdir celle-ci avec des milliers de lignes de code. Seule la mise au 1er plan de mes lignes s'effectue dans ma form (pour une autre raison).

Merci d'avance pour vos réponses.


Calade

3 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
20 déc. 2011 à 12:26
Salut ucfoutu et merci de ta réponse,

Effectivement et je ne suis pas sur que le jeu en vaille la chandelle.

Je vais voir si je peux changer quelque chose dans l'ordre des choses et/ou chander de système pour afficher ces vacances scolaires.


Calade
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 déc. 2011 à 11:20
Bonjour,

Un contrôle line, comme d'ailleurs un contrôle Shape, un Label, un contrôle image ... n'est pas une vraie "fenêtre" windows (dotée dont d'un hwnd).
Il est donc impossible de l'afficher au premier plan d'une fenêtre Windows qu'il "traverse"
La préséance de ce type de contrôle ne peut dont se faire (par Zorder) qu'au seul égard des autres contrôles du même type (ceux cités dans ma première phrase).



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 déc. 2011 à 11:24
Ta solution (mais elle est chère en ressources) est de placer chacune de ces "lignes" dans un Frame à "tripoter" par des fonctions de l'Api de Windows pour qu'il soit transparent (sauf son contenu).
C'est beaucoup (tant en code qu'en ressources utilisées).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous