Controle affiché par dessus un autre

Résolu
Signaler
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
-
Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
-
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

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
10
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
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