Si vous utilisez <
Problème : l'image est tronquée en bas (db1, db2 sont des boîtes d'affichage en quelque sorte)
vlb = V List Box( db1, db2 ) << copy picture;
Fix:vlb = V List Box( db1, db2 );
nw = New Window( "nw", vlb );
nw << copy picture;
nw << close window;
Donc, si vous l'enveloppez dans une fenêtre, l'image se copie correctement sans être tronquée.Peut-être que d'autres boîtes d'affichage peuvent également fonctionner.
DJ
Je ne sais pas comment reproduire votre problème, pouvez-vous donner des exemples de boîtes d'affichage spécifiques qui ont le problème ?Dans le script ci-dessous, j'ai empilé quelques boîtes les unes sur les autres et l'image copiée du vlb avec et sans la fenêtre était la même.Notez que j'ai apporté quelques modifications de syntaxe à votre exemple :
Names default to here(1);
dt = Open( "$Sample_data/big class.jmp" );
// make boxes that are bigger than the monitor when stacked, first two fixed sizse
db1 = spacer box( Size( 1000, 1000), Color( blue ) );
db2 = spacer box( Size( 1000, 1000), Color( red ) );
// third one in an outline box
db3 = report( Graph Builder(
Size( 800, 800 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 2 ) ), Smoother( X, Y, Legend( 3 ) ) )
) );
//and last one wraps the third one in a fixed-size box
db4 = Scroll Box( Size( 1000, 1000), db3 );
// splitting your line into two, that way vlb is defined as the list box
// and not the result of copy picture
vlb = V List Box( db1, db2, db3, db4 );
// This gives a blue square on top of a red one (Fig 1):
vlb << copy picture;
// Not sure what is happening here, you haven't defined a 'Fix'namespace..
// Fix:vlb = V List Box( db1, db2 );
//In new window, it looks the same with two squares (Fig 2):
nw = New Window( "nw", vlb );
nw << copy picture;
nw << close window;
Voici les deux images côte à côte :
