Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 15 Giugno 2018, 12:43:35

Titolo: form ridimensionabile ma senza bordo
Inserito da: allegfede - 15 Giugno 2018, 12:43:35
se faccio un form con le proprieta': border=true e resizable=true allora posso scalare la finestra senza aggiungere codice.
ma se metto border=false, il sistema operativo probabilemnte non intercetta il mouse sui bordi/angoli della finestra e quindi nessun resize ....

in pratica mi serve di poter eliminare il bordo alto della finestra e magari di poter fare la finestra con il fondo trasparente ... vorrei fare dei widget fighi :D

PS: da questa ricerca: http://www.gambas-it.org/smf/index.php?topic=2597.msg27491#msg27491 ho messo una png 10x10 trasparente come sfondo e mask a true .. ma vedo tutto nero nel form ....
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: Gianluigi - 15 Giugno 2018, 14:04:28
Non ho capito cosa vuoi fare esattamente.
Se desideri far vedere un'immagine come se fosse una finestra, devi creare una finestra trasparente e senza bordo, dove andrai a mettere una PictureBox che conterrà l'immagine che vuoi mostrare al posto della finestra.
Dai il bordo all'immagine con Expand a true e Fill all'arrangment della finestra e ti si dovrebbe ridimensionare, almeno credo.

 :ciao: :ciao:
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: allegfede - 18 Giugno 2018, 13:28:47
voglio fare un rettangolo con fondo trasparente (a richiesta), in cui il bordo (generalmente la barra del titolo) non sia visibile.

questo "rettangolo" mi serve come superficie per disegnarci varie cose.
Come primo test un semplice orologio analogico
ed uno digitale

poi l'idea e' di farne uno per le previsioni del tempo ed un altro per le news (rss).

Vorrei fare dei widget che si possano posizionare sullo schermo trascinandoli e ridimensionabili a piacimento in pratica.

in un tutorial si diceva (quello che avevo capito io in realta' almeno) che mettendo come sfondo della finestra QT una png trasparente, questa, poteva fare da maschera per la finestra stessa, e far risultare trasparente le zone senza con alfa al 100% ... (con mask on). Ma forse ho interpretato io la proprieta' ... :-(
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: vuott - 18 Giugno 2018, 13:59:27
Codice: [Seleziona]
Public Sub Form_Activate()

  Me.Border = False
  Me.Opacity = 0

End


Per vedere l'effetto:
Codice: [Seleziona]
Public Sub Form_Activate()

  Dim i as Integer

  Me.Border = False
 
  For i = 0 To 100
    Me.Opacity = i
    Wait 0.2
  Next

End
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: Gianluigi - 19 Giugno 2018, 14:11:12
voglio fare un rettangolo con fondo trasparente (a richiesta), in cui il bordo (generalmente la barra del titolo) non sia visibile.

questo "rettangolo" mi serve come superficie per disegnarci varie cose.
Come primo test un semplice orologio analogico
ed uno digitale

poi l'idea e' di farne uno per le previsioni del tempo ed un altro per le news (rss).

Vorrei fare dei widget che si possano posizionare sullo schermo trascinandoli e ridimensionabili a piacimento in pratica.

in un tutorial si diceva (quello che avevo capito io in realta' almeno) che mettendo come sfondo della finestra QT una png trasparente, questa, poteva fare da maschera per la finestra stessa, e far risultare trasparente le zone senza con alfa al 100% ... (con mask on). Ma forse ho interpretato io la proprieta' ... :-(

Così dovrebbe funzionare anche con le qt5, vedi file allegato.

 :ciao: :ciao:

PS: Mettere il background del panel a trasparente non serviva.
Scusa sono un po distratto dal mondiale  ;D
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: Gianluigi - 19 Giugno 2018, 19:23:18

Vorrei fare dei widget che si possano posizionare sullo schermo trascinandoli e ridimensionabili a piacimento in pratica.


Una cosa tipo questa?
(vedi allegato)

 :ciao: :ciao:
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: allegfede - 09 Luglio 2018, 18:42:42
WOOOOOWWW

alt + pulsante mouse ..... e chi lo sapeva???

quando faccio quelle domande strane se esiste un metodo "elegante" o altro, in pratica e' proprio la ricerca di un "trucco" come questo suggerito da Gianluigi.
Perche' reinventare la ruota??????

Mitico!

per la trasparenza messo come ha fatto gianluigi:
background (vuoto)
trasparent (true)
masked(true)
picture(vuoto)

ora e' trasparente.

Ora lo devo fare ridimensionabile ... ma siamo a buon punto.

grazias a todos :D
Titolo: Re:form ridimensionabile ma senza bordo
Inserito da: Gianluigi - 10 Luglio 2018, 20:05:46
...
Ora lo devo fare ridimensionabile ... ma siamo a buon punto.

Sono fresco dal picchiarmi con Gambas in Ubuntu 18.04 che è ritornato al desktop Gnome che non avevo mai usato.
Ad esempio li per spostare la finestra occorre tener premuto il tasto Win (o Super che dir si voglia) invece di Alt e per ridimensionare occorre sempre tener premuto il tasto Win e cliccare col tasto destro del mouse per far apparire un menu a comparsa in cui scegliere Ridimensiona e poi... prenderci la mano  ;D

Insomma ogni ambiente grafico ha i suoi metodi per ridimensionare e la finestra trasparente di Widget lo è...

 :ciao: :ciao: