Comment mettre à jour des valeurs séparées dans une boîte de panneau?Bonjour tous le monde,
Je veux mettre à jour zones d'édition de texte dans une boîte à panneaux. J'ai essayé de le faire en utilisant Définir les éléments (qui devrait fonctionner par exemple pour la zone de panneau) ou mais cela semble fonctionner si l'on a une zone de liste et non des valeurs séparées de la liste ou des valeurs à afficher situées à différents endroits dans une zone de panneau. J'apprécierais pour des conseils sur la façon de résoudre ce problème. Meilleures salutations.
//example values that will be updated each time when certain process is selected from the list (not shown here)
param1 = 1;
param2 = 2;
param3 = 3;
param4 = 4;
data_to_display = evallist({param1, param2, param3, param4}); //list of values to be displayed
infos = Panel Box("Module Infos",
V List Box(
H List Box(
V List Box(
Text Box( "Param1:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param2:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
Text Edit Box( Char( data_to_display[1] ), << Set Width( 130 ) ),
Spacer Box(Size(10, 3)),
Text Edit Box( Char( data_to_display[2] ), << Set Width( 130 ) ),
),
Spacer Box(Size(40, 5)),
V List Box(
Text Box( "Param3:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param4:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
Text Edit Box( Char( data_to_display[3] ), << Set Width( 100 ) ),
Spacer Box(Size(10, 3)),
Text Edit Box( Char( data_to_display[4] ), << Set Width( 100 ) ),
),
),
),
),
),
infos << Set items( data_to_display );
Re: Comment mettre à jour des valeurs séparées dans une boîte de panneau?Les messages remontent la chaîne, pas vers le bas. Le message à l'objet référencé avec infos est perdu. Vous devez enregistrer la référence renvoyée par la fonction appelée pour créer les zones de texte, puis utiliser la variable pour envoyer le message Set () directement à cette zone.
tb1 = Text Box( "Param1:" )
tb1 << Set( ... );
Re: Comment mettre à jour des valeurs séparées dans une boîte de panneau?Les boîtes de panneau ne contiennent que d'autres objets. Vous pouvez définir le titre de la boîte du panneau, mais c'est à peu près tout. L'index de script est idéal pour découvrir quelles méthodes fonctionnent sur quels objets d'affichage.
Re: Comment mettre à jour des valeurs séparées dans une boîte de panneau?Merci pour les réponses. J'arrive à mettre à jour les zones d'édition de texte. Dans mon cas, le texte à afficher dépend de ce qui a été précédemment sélectionné dans une zone de liste, et parce que je voulais avoir des zones de texte vides au début de l'application, j'ai décalé la mise à jour des variables de la zone de texte avant la zone du panneau où les zones d'édition de texte sont localisés et juste après avoir sélectionné l'option de la zone de liste. Et j'ai obtenu l'effet souhaité. Meilleures salutations
new window("example",
H List Box(
Panel Box("Params",
params = List Box(
unique_param_list,
max selected( 1 ),
//todo..
//and then update of variables
t1 << set text(var1);
t2 << set text(var2);
t3 << set text(var3);
t4 << set text(var4);
),
),
Panel Box("Module Infos",
V List Box(
H List Box(
V List Box(
Text Box( "Param1:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param2:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
t1 = Text Edit Box( " ", << Set Width( 130 ) ),
Spacer Box(Size(10, 3)),
t2 = Text Edit Box( " ", << Set Width( 130 ) ),
),
Spacer Box(Size(40, 5)),
V List Box(
Text Box( "Param3:" ),
Spacer Box(Size(10, 6)),
Text Box( "Param4:" ),
),
Spacer Box(Size(15, 5)),
V List Box(
t3 = Text Edit Box( " ", << Set Width( 100 ) ),
Spacer Box(Size(10, 3)),
t4 = Text Edit Box( " ", << Set Width( 100 ) ),
),
),
),
),
);