Ripristino trascinamento immagine di sfondo grafico personalizzatoCIAO,
Data una casella grafica personalizzata con immagine di sfondo e script di gestione, esiste un modo per impedire all'utente di trascinare accidentalmente l'immagine di sfondo quando manca la maniglia? Il problema che ho è che spesso quando provo a trascinare la maniglia io o un altro utente perdiamo il clic e finiamo per trascinare invece l'immagine di sfondo. Non esiste un modo semplice per annullare questa operazione, Ctrl+Z ridimensiona semplicemente l'immagine alla sua dimensione originale (non alla dimensione della casella del grafico). La mia domanda è questa: esiste un modo per forzare un'immagine di sfondo in una casella del grafico a non essere trascinabile? Oppure, in caso contrario, esiste un modo per catturare Ctrl+Z per annullare questo clic errato? Nel peggiore dei casi, posso aggiungere un pulsante, ma non voglio che l'interfaccia utente sia ingombrante.
Esempio
img = New Image( "$SAMPLE_IMAGES/tile.jpg" );
scale_factor = 0.5;
curimg_scaled = img;
curimg_scaled << Scale( scale_factor );
{scaled_width, scaled_height} = curimg_scaled << Size;
XX=scaled_width/2;
YY=scaled_height/2;
gb = Graph Box(
<<ADD image=""> larghezza_scalata,larghezza_scalata,x<1,1,x); YY = If(y>scaled_height,scaled_height,y<1,1,y);, //mouseupscript -- aggiorna il profilo traccia XX = Round( XX ); AA = Rotondo(AA); // FAI COSE txt = Eval Insert( "(X,Y)=(^XX^,^YY^)" ); Stampa(testo); tb_xy << Imposta testo( txt ); ); Linea H(AA); Linea V(XX); ); Nuova finestra("Test",V List Box(gb,tb_xy=Casella di testo("")));</ADD>
Personalizzazione di massaRi: Reimposta trascinamento dell'immagine di sfondo del grafico personalizzatoPuoi serratura l'immagine.
img = New Image( "$SAMPLE_IMAGES/tile.jpg" );
scale_factor = 0.5;
curimg_scaled = img;
curimg_scaled << Scale( scale_factor );
{scaled_width, scaled_height} = curimg_scaled << Size;
XX = scaled_width / 2;
YY = scaled_height / 2;
gb = Graph Box(
<<ADD image=""> scaled_width, scaled_width,
x < 1, 1,
x
);
YY = If(
y > scaled_height, scaled_height,
y < 1, 1,
y
);,
//mouseupscript -- update profile plots
XX = Round( XX );
YY = Round( YY );
// DO STUFF
txt = Eval Insert( "(X,Y)=(^XX^,^YY^)" );
Print( txt );
tb_xy << Set Text( txt );
);
H Line( YY );
V Line( XX );
);
New Window( "Test", V List Box( gb, tb_xy = Text Box( "" ) ) );</ADD>Ri: Reimposta trascinamento dell'immagine di sfondo del grafico personalizzatoGrazie mille Jeff! Questa opzione per il messaggio immagine è documentata? Devo averlo perso.Ri: Reimposta trascinamento dell'immagine di sfondo del grafico personalizzatoHo iniziato facendo clic con il pulsante destro del mouse sull'immagine per vedere se c'era un'opzione di blocco lì.

Quindi ho cercato Lock nell'indice di script (Aiuto-> Indice di scripting) e l'ho trovato sull'oggetto PictSeg.

Ho quindi sperimentato per vedere se potevo usarlo sul messaggio Aggiungi immagine () direttamente come ti ho mostrato sopra.