Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: combobox

  1. #1
    Utente di HTML.it L'avatar di meffe
    Registrato dal
    Aug 2005
    Messaggi
    73

    combobox

    Ciao a tutti,
    ho un problema che rasenta l'incredibile.
    inserisco 3 combobox in un mc e quando lo provo funzionano correttamente...
    Quando le inserisco in un altro mc mi compaiono ma non mi si apre il menu a tendina...
    in questo secondo caso le 3 combo sono in un filmato che viene caricato all'interno di uno scrollpane...
    in questo filmato ci sono semplicemente dei campi di testo statico e di input (è una specie di form)...
    nella libreria ho la componente combobox...
    io uso flash 8 pro...
    mi sapete aiutare e dire cosa c'è che non va?!?!?
    a me servirebbe semplicemente che il valore (data, o label) venga scritto in una variabile che poi la invio al php per rielaborare il tutto...
    meffe

    ecco il codice
    // COMBOBOX SIDE
    this.createObject("ComboBox", "side", this.getNextHighestDepth());
    side.move(416.9, 112);
    side.setSize(150,17.3)
    side.dataProvider = [{label: "", data: ""},
    {label: "BUY", data: "buy"},
    {label: "SELL", data: "sell"} ];
    var oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void {
    _root.search_sell = oEvent.target.value;
    };
    side.addEventListener("change", oListener);
    //COMBOBOX TYPEV
    this.createObject("ComboBox", "typev", this.getNextHighestDepth());
    typev.move(416.9, 132.3);
    typev.setSize(150,17.3)
    typev.dataProvider = [{label: "", data: ""},
    {label: "Enter long", data: "enterlong"},
    {label: "Enter short", data: "entershort"},
    {label: "Stop trailing", data: "stoptrailing"} ];
    var oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void {
    _root.search_typev = oEvent.target.value;
    };
    tipev.addEventListener("change", oListener);
    //COMBOBOX STATUSV
    this.createObject("ComboBox", "statusv", this.getNextHighestDepth());
    statusv.move(416.9, 396.7);
    statusv.setSize(150,17.3)
    statusv.dataProvider = [{label: "", data: ""},
    {label: "Attivo", data: "attivo"},
    {label: "Eseguito", data: "eseguito"},
    {label: "Rifiutato", data: "rifiutato"} ];
    var oListener:Object = new Object();
    oListener.change = function(oEvent:Object):Void {
    _root.search_statusv = oEvent.target.value;
    };
    statusv.addEventListener("change", oListener);

  2. #2
    Avevo un identico problema!!! E' lo scoll!!!

    Se definisci le funzioni onRollOver e onRollOut di uno scroll, resta definita anche la OnPress e quindi l'evento di click sulla Combo si risolve come click sul contenitore e non sul contenuto...

    Prova cosi:

    codice:
    contenitore.onPress=function() {
      for (a in this) { 
    	if (typeof (this[a]) == "movieclip") { 
    		if ((this._xmouse>this[a]._x)&&(this._xmouse<(this[a]._x+this[a]._width))&&(this._ymouse>this[a]._y)&&(this._ymouse<(this[a]._y+this[a]._height))) {
    			this[a].onPress();
    		}
    	} 
      }
    }
    In pratica questa funzione propaga il click del mouse sul contenitore al contenuto!!!

    Non dimenticare di farmi sapere se funziona!!!
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  3. #3
    Originariamente inviato da NoR
    Non dimenticare di farmi sapere se funziona!!!
    Allora, funziona?
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  4. #4
    Utente di HTML.it L'avatar di meffe
    Registrato dal
    Aug 2005
    Messaggi
    73
    non mi funziona propriamente...
    grazie intanto per la risposta...
    dunque, io ho inserito il codice modificando il "contenitore" e puntando al mio scrollpane, ho messo il codice sul mc contenuto nello scrollpane... (ho sbagliato qualcosa?)
    riesco a cambiare indicazione della mia combobox ma non mi si apre la tendina della combobox... è un po' strano perchè non mi si apre la tendina ma riesco comunque a selezionare il valore che voglio cliccando sopra la voce che però non si vede...
    provo a studiarmi meglio il codice, se ti o vi viene in mente qualcosa per risolvere anche questa magagna sarebbe magico!

    ciao e grazie intanto

    ps. inoltre ho dei problemi anche fuori dallo scrollpane, anche fuori non mi si apre il menu a tendina!!!

  5. #5
    Credo che il codice che ti ho dato dovresti metterlo nel mc che "contiene" lo scrollpane...
    (passa un po' di codice così vediamo...)
    Altrimenti, come lo hai riferito? this.onPress?
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  6. #6
    Utente di HTML.it L'avatar di meffe
    Registrato dal
    Aug 2005
    Messaggi
    73
    semplicemente, io ho nella root un mc che si chiama workspace e al suo interno carico vari mc dentro lo scrollpane, quindi nei vari frame del mc workspace ho il caricamento dei scrollpane che contengono altri mc.
    Il codice del frame del workspace è (nel caso della tua funzione):
    stop();
    _root.workspace.onPress=function() {
    for (a in this) {
    if (typeof (this[a]) == "movieclip") {
    if ((this._xmouse>this[a]._x)&&(this._xmouse<(this[a]._x+this[a]._width))&&(this._ymouse>this[a]._y)&&(this._ymouse<(this[a]._y+this[a]._height))) {
    this[a].onPress();
    }
    }
    }
    }
    scroll_contenuto.contentPath = "trade_search";
    scroll_contenuto.setStyle("borderStyle","none");


    non ho capito però perchè fare il ciclo for e a cosa si riferisce quel "a"...
    in questo caso il mouse mi diventa come se fosse sopra a un pulsante e non mi permette di selezionare nulla all'interno dello scrollpane.
    grazie ancora per l'aiuto,

  7. #7
    Allora tu hai:

    codice:
    _root.workspace
           _root.workspace.scroll_contenuto
                   _root.workspace.scroll_contenuto.oggetto1
                   _root.workspace.scroll_contenuto.oggetto2
                   ...
    Se definisci per _root.workspace.scroll_contenuto le funzioni onRollOver o similari tale mc risulta cliccabile: ovvero viene definito automaticamente per esso anche l'evento onPress!
    In questo modo non è possibile per gli oggetti contenuti essere cliccati (perché il click in quella zona dello schermo si risolverebbe come click sul contenitore e non sul contenuto).

    Allora ti aiuta la mia funzioncina, che ti commento per migliore comprensione:

    Codice PHP:
    _root.workspace.scroll_contenuto.onPress=function() {
    // quando viene cliccato sul mc in oggetto...
      
    for (a in this) { 
      
    // ... per ogni elemento di questo mc...
        
    if (typeof (this[a]) == "movieclip") { 
        
    // ... se tale elemento è un movieclip anch'esso ...
            
    if ((this._xmouse>this[a]._x)&&(this._xmouse<(this[a]._x+this[a]._width))&&(this._ymouse>this[a]._y)&&(this._ymouse<(this[a]._y+this[a]._height))) {
            
    // ... e se le coordinate del mouse si trovano nell'area occupata da tale oggetto...
                
    this[a].onPress();
                
    // ...allora invoca la pressione dell'oggetto contenuto (non this, ma this.a o meglio this[a])!
            
    }
        } 
      }

    E' più chiaro così?

    Naturalmente, se anche workspace dovesse essere cliccabile, anche lui "coprirebbe" il click su scroll_contenuto e anche per lui andrebbe definita una onPress...

    codice:
    _root.workspace.onPress=function() {
        /* ... come sopra ... */
    }
    Fammi sapere!!!
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  8. #8
    Utente di HTML.it L'avatar di meffe
    Registrato dal
    Aug 2005
    Messaggi
    73

    nada de nada...

    grazie ancora per la costanza!
    il problema rimane perchè nel caso in cui io non indico il contentpath nel riferimento dell'onpress allora quando passo sopra col mouse sull'area mi si presenta il mouse come se dovesse premere un pulsante... e non mi fa selezionare nulla...
    se invece indico il contentpath allora mi funziona ma è come se non mettessi nulla, ovvero non mi scende la tendina il che è strano!

    codice:
    _root.workspace.scroll_contenuto.contentPath.onPress=function() {
    for (a in this) {
    if (typeof (this[a]) == "movieclip") { 
    if((this._xmouse>this[a]._x)&&(this._xmouse<(this[a]._x+this[a]._width))&&(this._ymouse>this[a]._y)&&(this._ymouse<(this[a]._y+this[a]._height))) {
    this[a].onPress();
    }
    } 
    }
    }
    il workspace non deve essere cliccabile perchè contiene solamente lo scrollpane...

    è praticamente inspiagabile la cosa, perchè in teoria funziona ma non si vede scendere la tendina dello scrollpane!

  9. #9

    Re: nada de nada...

    Originariamente inviato da meffe
    il workspace non deve essere cliccabile perchè contiene solamente lo scrollpane...
    Aspetta! Tu non vuoi che sia cliccabile o Flash non te lo fa cliccabile? Guarda che a volte Flash autodefinisce onPress anche per oggetti che non vorremmo cliccabili! E' qui il problema: l'onPress definito implicitamente su workspace nasconde quello esplicito sul suo contenuto.
    Prova a mettere la mia funzione anche sul workspace...

    Un altra possibilità è che l'oggetto contenuto non sia un "movieclip" (per cui l'IF dentro il ciclo lo salta!). Prova a mettere nel ciclo...

    codice:
    ...
    for (a in this) {
            trace("Controllo "+a._name+" di tipo "+typeof(this[a])); 
            ...
    giusto per fare un controllino...
    Salvatore De Bonis AKA Novice of Ricotta AKA NashCrash

  10. #10
    Utente di HTML.it L'avatar di meffe
    Registrato dal
    Aug 2005
    Messaggi
    73
    Se io non inserisco il codice che mi hai suggerito riesco ad accedere al contenuto dello scrollpane, che è un filmato contenente una form, la quale tra l'altro ha anche un pulsante che invia la form...
    il punto è che al posto di alcuni campi della form io volevo mettere dei combobox... tutto qua!
    ho provato a mettere o meno il controllo se è un movieclip ma non cambia nulla (infatti il contenuto dello scrollpane è un movieclip)...
    se io metto la funzione sul workspace mi rende cliccabile quello che è contenuto sul workspace: quindi mi rende cliccabile lo scrollpane che contiene il filmato con la form... e comunque inserendo questo script in questa posizione non mi cambia nulla rispetto al fatto di non inserirlo...

    la questione è sempre più complicata...

    altre idee?

    TNX

    meffe

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.