Bonjour à tous,

Je ne m'en sors pas ici
Je crée un logiciel scolaire de gestion de pensums et je chercher à afficher tous les cours données dans une certaine matière. J'utilise pour cela un champ tableau de bord et je crée une fenêtre interne par cours.

Un cours est en fait une enveloppe et à l'intérieur se trouve le ou les enseignements.
Par exemple, un cours d'allemand en discipline fondamentale (nom de l'enveloppe) est constitué d'une leçon hebdomadaire d'allemand 'standard' et deux leçons d'allemand en laboratoire.

Dans ma fenêtre interne, j'ai un champ zone répétée
Dans le cas de mon cours d'allemand, la zone répété ma fenêtre interne aura donc 2 enregistrements

Ce que j'aimerais faire maintenant est adapter la taille de ma fenêtre interne en fonction du nombre d'enregistrements qu'elle contient.

J'ai déjà ce traitement au sein de ma fenêtre interne qui fonctionne (adapter la taille de ma zone répétée)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
// compter les occurrences d'enseignements
TableauOccurrence(MonBloc.ListeEnseignements)
ZR_ListeEnseignements.Hauteur = TableauOccurrence(MonBloc.ListeEnseignements)*50
Mais a priori, je ne peux adapter la taille de ma fenêtre interne seulement depuis l'extérieur de cette dernière.

Je ne sais donc pas comment je peux transférer des informations entre mon programme principal et mes fenêtres internes.


Nom : 2025-04-28_10-15-07.jpg
Affichages : 41
Taille : 47,3 Ko

J'ai essayé les syntaxes suivantes mais sans succès :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
		IndiceWidget est un entier = TDBAjouteWidget(TDB_DetailCoursEffectifs, FI_WidgetCoursEnseignements, MonParam.NomCours, MonParam.Bloc)
 
 
 
//		//TDB_DetailCoursEffectifs[IndiceWidget].ChangeTailleWidget(
//		/ Appeler directement sans passer par une variable
//		NouvelleHauteur est un entier = TDBInfoWidget(TDB_DetailCoursEffectifs, IndiceWidget, tiFenetreInterne).RecalculeHauteur()
//
 
//
//		TDBChangeTailleWidget(TDB_DetailCoursEffectifs, IndiceWidget, -1, FI_WidgetCoursEnseignements.AdaptationTaille())
//              TDBChangeTailleWidget()
//              FenTailleUtile(IndiceWidget, 30, 30)
 
		TDB_DetailCoursEffectifs[IndiceWidget].Visible	= Vrai
		TDB_DetailCoursEffectifs[IndiceWidget].Valeur	= MonParam.IndiceLocal
 
 
//              FI_WidgetCoursEnseignements.AdaptationTaille()
//		MaTaille est un entier = TDB_DetailCoursEffectifs[IndiceWidget].sai_taille
//		TDB_DetailCoursEffectifs[IndiceWidget].
//		MonFI est une variable automatique
//		MonFI = FenêtreInterneAssociee(TDB_DetailCoursEffectifs[IndiceWidget])
//             FenAdapteTaille(TDB_DetailCoursEffectifs[IndiceWidget])

Je suis preneur de toute idée
D'avance, merci à tous et excellente suite de journée

Arnaud