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

    [VB6.0] Problemi di ZOrder

    Buongiorno

    Mi sono trovato poco fa dinnanzi a un problema complesso. Sto, per un'applicazione, creando degli ActiveX che svolgano determinanti funzioni.
    Però in questo progetto avrei bisogno di sovrapporre una label al mio controllo ActiveX, ossia di metterla in primo piano rispetto al controllo. Invece, anche usando ZOrder, la label rimane sempre in secondo piano. Ho scoperto che VB ha vari livelli al di fuori dei quali ZOrder non ha più valenza. Il mio controllo ActiveX a quanto pare è in un livello superiore, e non riesco a portare la label allo stesso livello grafico.

    Dunque quì sorge spontanea la prima domanda: esiste una proprietà di un controllo activeX che specifichi a quale livello il controllo debba restare?

    Se sapete rispondere a questa domanda in modo alternativo, non c'è più motivo di proseguire e mi avete risolto il problema ...

    Se tale proprietà non esiste invece, ( ed è quello che ho pensato), mi sono messo a ragionare per una possibile soluzione. Sono arrivato al fatto di creare un controllo activeX con le stesse funzionalità della label, ossia che contenga una label al suo interno, ne prenda le dimensioni e poi tramite codice ho istituito una copia delle solite proprietà e metodi delle label e ho praticamente creato un activeX myLabel. Solo che quì compare il secondo problema. Nel caso io volessi una label con sfondo trasparente ( che, guarda caso è il mio caso), dovrei rendere lo sfondo dell'ocx trasparente!! e sempre per sto fatto che label appartiene a un liello di sfondo a quanto sembra, se imposto backStyle = trasparent... la mia label sparisce!!!! uffa... quindi se avete una soluzione a questo secondo problema... fatevi pure avanti...

    Siccome io non ho trovato soluzione al mio secondo problema, mi sono cimentato in un'altrA soluzione: ho provato a costruirmi una label da zero... allora ho provato, tramite l'istruzione Print a printarmi il testo della variabile pubblica d'istanza caption, a seconda anche delle impostazioni di colore font ect... ovviamente stando attento alle dimensioni ho anche fatto la proprietà Autosize ect... proprio come una nobile label di vb... ed ecco quà che il mio problema ritorna!!! se voglio rendere il controllo trasparente con la solita backstyle, la mia scritta sparisce!!! non trovo soluzioneeeee!!!!!

    Allora, ora vi ho un po' spianato la strada mostrandovi le varie strade che ho trovato. In ogni caso, siete in grado di sovrapporre una label sopra un controllo activeX, se si, comeeeee????

    Grazie 1000 per la lettura di questo papiro hehe... spero che troverete una soluzione...

  2. #2
    Non puoi inserire la label direttamente nel tuo controllo ActiveX?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Grazie MItaly...

    Allora ti spiego tutto il progetto per intero...
    voglio realizzare un bottone complesso, che ovviamente ha una sua caption.
    La grafica di questo bottone è semitrasparente ( ossia in certi pezzi lascia vedere ciò che c'è sotto). Questo effetto lo ottengo grazie ad un controllo che io non ho i permessi di modificare chiamato ExPicBox.ocx.
    Io non posso però sovrapporre la mia label a questo controllo.
    Volendo potrei anche ricreare questo ExPicBox, ne sarei capace, ma permane un problema:
    ossia questo effettto di trasparenza, lo ottengo semplicemente settando a trasparent backstyle, e settando al colore voluto il mio maskColor. E quando io setto trasparente il backstyle, magicamente la mia label scompare nel nulla...

  4. #4
    HaHa!!! Ho scoperto ancora una cosa...
    Riesco a visualizzare le scritte qual'ora siano sopra la parte grafica... se ad esempio la label o la scritta di una print sta per metà sopra la mia immagine opaca, allora per quel tratto si vedono, poi dove l'immagine diventa trasparente, diventano anche loro trasparenti, sebbene il maskcolor sia diverso dal font

  5. #5
    OKAYYY!!! trovato!

    bastava impostare windowless a true... non so bene perchè... però ora la label si vede per intero!

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.