Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problemi con componente

    Ciao a tutti, passo subito al mio problema:

    stò creando un componete in flash, e, ad un certo punto, mi ritrovo a dover creare una funzione che selezioni una riga cliccata. Quando aggiungo una riga alla listBox (il mio componente) creo una label (attaccando un oggetto dalla libreria) in questo modo:

    codice:
    EditableListBox.prototype.addLine = function(name) {
    	this.container.attachMovie("label", "label" add this.counter, this.counter+1);
    	myLabel = this.container["label" add this.counter];
    	cl = new Color(myLabel.base);
    	if (this.counter%2 == 0) {
    		cl.setRGB(0xFFFFFF);
    	} else {
    		cl.setRGB(0xCCCCCC);
    	}
    	w = this.elb_width-this.scrollbar.base._width;
    	myLabel.base._width = w;
    	myLabel._x = 1;
    	myLabel.ID = this.counter;
    	myLabel._y = myLabel.base._height*this.counter;
    	myLabel.name.text = name;
    	myLabel.name._width = w;
    	myLabel.onPress = function() {
    		cl = new Color(this.base);
    		if (_global.last_selected != null) {
    			ccc = new Color(_global.last_selected.base);
    			ccc.setRGB(0xFFFFFF);
    		}
    		if (_global.selected == this.ID) {
    			cl.setRGB(0xFFFFFF);
    			_global.last_selected = null;
    			_global.selected = -1;
    		} else {
    			_global.selected = this.ID;
    			_global.last_selected = this;
    			cl.setRGB(0xFF0000);
    		}
    	};
    	this.counter++;
    };
    come vedete nella funzione associata a onPress, faccio riferimento a 2 variabili globali, che mi rappresentano l'ID della riga selezionata e l'istanza dell'ultima riga selezionata. Bene, io vorrei che queste variabili facessero parte dell'oggetto EditableListBox, e non fossero globali, ma non so come fare riferimento a queste dall'interno della funzione associata ad onPress: infatti "this.selected" non va bene peerchè farebbe riferimento alla variabile "selected" all'interno dell'istanza myLabel (che non esiste), ma neanche EditableListBox.selected si può usare... come posso fare??
    eXtending-Php.net coming soon ...

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    EditableListBox.prototype.addLine = function(name)
    {
    	this.container.attachMovie("label", "label" add this.counter, this.counter+1);
    	myLabel = this.container["label" add this.counter];
    	myLabel.component = this;
    	[...]
    	myLabel.onPress = function() {
    		cl = new Color(this.base);
    		if (this.component.last_selected != null) {
    			ccc = new Color(this.component.last_selected.base);
    			ccc.setRGB(0xFFFFFF);
    		}
    		if (this.component.selected == this.ID) {
    			cl.setRGB(0xFFFFFF);
    			this.component.last_selected = null;
    			this.component.selected = -1;
    		} else {
    			this.component.selected = this.ID;
    			this.component.last_selected = this;
    			cl.setRGB(0xFF0000);
    		}
    	};
    };

  3. #3
    stendo un velo pietoso...darà forse perchè è tardi che mi perdo in ste stupidate??

    grazie nega
    eXtending-Php.net coming soon ...

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    La stanchezza gioca sempre brutti scherzi...

    ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.