in data 04-12-2017 02:05 AM
Buongiorno,
c'è un modo per rendere invisibile il frame di un panel anche se non ha nessun parentHandle?
Altro quesito, è possibile rendere trasparente il background di un panel ma non gli elementi che lo popolano (immagini, ring, button, ...)?
Grazie
Risolto Andare alla soluzione.
in data 04-12-2017 03:50 AM
La risposta breve è che con le funzioni native di CVI non è possibile nascondere il frame, tutti gli attributi relativi al frame sono validi solamente per i child panel, le finestre sono gestite dal sistema operativo. Lo stesso vale per il colore di sfondo: il trasparente non è consentito.
Detto questo, usando alcune funzioni SDK è possibile superare alcune di queste limitazioni: cerca sulla tua macchina l'esempio \samples\sdk\winshape\winshape.cws che mostra come avere delle finestra di forma arbitraria; è facile aggiungere una finestra rettangolare senza bordo ma considera che non si riesce a visualizzare la barra del titolo quindi non riesci a spostare la finestra.
in data 04-12-2017 04:37 AM
Il fatto di non avere la barra del titolo e non poter spostare la finestra non è un problema (in allegato ti mando un esempio di una finestra che utilizzo), il mio problema è togliere il frame nero intorno senza che il panel abbia un parentHandle e non riesco a capire come posso utilizzare l'esempio che mi hai consigliato.
Ho letto anche questa discussione ma rende trasperente tutti il panel, non ci sarà la possibilità di fare questa cosa solamente con il frame?
http://forums.ni.com/t5/LabWindows-CVI/Transparent-Main-Panel/m-p/3172386
Grazie
in data 04-12-2017 04:47 AM
Ho modificato l'esempio che ti ho suggerito aggiungendo una seconda finestra rettangolare con sfondo uguale alla prima. Ho anche aggiunto un pulsante per verificare che rimanga visibile anche dopo aver applicato la regione. Prova a vedere se ti può essere d'aiuto