Gambas-it

Gambas3 => Programmazione => Topic aperto da: luca.decarlo - 08 Gennaio 2016, 12:31:53

Titolo: ToolButton Text e Picture!
Inserito da: luca.decarlo - 08 Gennaio 2016, 12:31:53
Ma è possibile che nel controllo Toolbutton, non posso mettere il testo sotto l'immagine???  :o :o :o

Luca
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 15:32:03
Con le sole risorse della Classe ToolButton non mi pare sia possibile.

Però c'è sempre un'alternativa.
Utilizzando le risorse delle Classi Image e Paint, puoi modificare l'immagine imponendo il testo all'interno dell'immagine medesima, e quindi mostrarla sul ToolButton .
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 15:40:47
Anche io l'avevo pensato ma così non mi funge:
Codice: [Seleziona]
Dim p As Picture

  p = Picture["icon:/22/add"]   ' carichiamo una immagine' 
  With Paint
    .begin(p)
    .Font.size = 12
    .DrawText("PIPPO") ' poi avremmo spostata'
    .End
  End With 
  ToolButton1.Picture = p
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 15:46:53
Così funziona:
Codice: [Seleziona]
Public Sub Form_Open()

    Dim im As Image

    im = Image.Load("/usr/share/icons/hicolor/48x48/apps/libreoffice-main.png")
   
    With Paint
    .begin(im)
    .Font.size = 9
    .Brush = .Color(Color.Red)
    .DrawText("Testo", 1, 5, im.W, im.H, Align.Center)
    .End
   End With

    ToolButton1.Picture = im.Picture

End

http://www.gambas-it.org/wiki/index.php?title=Inserire_del_testo_in_una_Image_ed_in_una_Picture
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 15:55:47
Si dovrebbe poter scrivere anche in una Picture  :-\
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 15:59:41
Si dovrebbe poter scrivere anche in una Picture  :-\

Exactement.

Codice: [Seleziona]
Public Sub Form_Open()

Dim p As Picture

  p = Picture.load("/usr/share/icons/hicolor/48x48/apps/libreoffice-main.png")   ' carichiamo una immagine'

  With Paint
    .begin(p)
    .Font.size = 10
    .Brush = .Color(Color.Red)
    .DrawText("Testo", 1, 5, p.W, p.H, Align.Center)
    .End
  End With


    ToolButton1.Picture = p

End
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 16:04:07
Infatti funziona, ma male se cambi il mio codice ingrandendo l'immagine e inserendo i tuoi parametri il testo si disegna al centro dell'immagine ma non è quello che desideriamo, giusto?
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 16:11:24
... ingrandendo l'immagine e inserendo i tuoi parametri il testo si disegna al centro dell'immagine ma non è quello che desideriamo, giusto?
Non è stato specificato da luca.decarlo quali caratteristiche deve assumere l'immagine o il testo. Io ho provato solo a risolvere il generico problema di far apparire il testo in una immagine da caricarsi in un ToolButton .
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 16:17:12
Nel primo post lui parla di immagine sopra il testo.
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 16:25:20
Nel primo post lui parla di immagine sopra il testo.
Ebbene, lui deve precisare cosa intende per sopra.

Intende un effetto trasparenza dell'immagine ? In questo caso dovrà adoperare le opportune risorse per modificare il codice Alfa dell'immagine, e quindi applicare la semitrasparenza.
Intende un effetto bidimensionale ? Nel senso che il testo si deve porre all'interno del ToolButton ad un valore della proprietà ToolButton.Height superiore rispetto a quello assunto dall'immagine ? In questo caso... ci devo studiare ancora...... sopra.   ;D
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 16:30:12
Il problema è che H e W sono di sola lettura altrimenti non ci sarebbe problema.
Forse occorrerebbe crearsi un'immagine trasparente della dimensione del toolbutton e poi copiarci l'icona desiderata e scrivere dove si desidera... forse  :-\
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 16:33:51
Forse occorrerebbe crearsi un'immagine trasparente della dimensione del toolbutton e poi copiarci l'icona desiderata e scrivere dove si desidera...
Io per ora attenderei la sua precisazione.

Nel caso lui voglia l'effetto bidimensionale (immagine in alto, testo in basso), la questione è molto complessa. In tal caso il tuo suggerimento si afferma essere un'ottima soluzione, anche agevolmente praticabile.   (http://forum.ubuntu-it.org/images/smilies/sisi.gif)
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 17:12:57
Comunque sia le tue argomentazioni mi hanno suggerito questa soluzione che può essere adattata a qualunque formato si desideri:
Codice: [Seleziona]
Dim p As Picture
  Dim i, ic As Image   
 
  ' Supponiamo di avere un toolbutton di 50x64'
  i = New Image(50, 64) 
  p = Picture["icon:/22/add"]   ' carichiamo una immagine' 
  ic = p.Image 
  ' disegnamo' l'immagine nel centro del quadrante superiore'
  i.PaintImage(ic, (i.W / 2) - (p.W / 2), (i.H / 2) - p.H) 
  With Paint
    .begin(i)
    .Font.size = 11
    ' scriviamo al centro del quadrante inferiore'
    .DrawText("PIPPO", 0, 0, i.W, i.H + (i.H / 2), Align.Center)
    .End
  End With 
  p = i.Picture
  ToolButton1.Picture = p
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 08 Gennaio 2016, 18:26:21
Comunque sia le tue argomentazioni mi hanno suggerito questa soluzione
L'idea è stata tua, non mia, poiché io ho interpretato in modo tridimensionale l'intenzione di luca.decarlo !


.... questa soluzione che può essere adattata a qualunque formato si desideri
...però solo se l'immagine è sufficientementre piccola rispetto al ToolButton, altrimenti viene spostata in tutto o in parte al di fuori della maschera del ToolButton.
Si deve studiare meglio la parte generale per l'assegnazione della coordinata attinente al posizionamento del testo e dell'immagine.

Nel tuo codice modificherei così la riga della creazione dell'immagine trasparente base:
Codice: [Seleziona]
i = New Image(ToolButton1.W, ToolButton1.H, &FF0000FF)
altrimenti noto che l'immagine trasparente si mostra sporca.
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 08 Gennaio 2016, 20:06:54
Comunque sia le tue argomentazioni mi hanno suggerito questa soluzione
L'idea è stata tua, non mia, poiché io ho interpretato in modo tridimensionale l'intenzione di luca.decarlo !

Diciamo che è maturata da un ragionamento stimolato da entrambi  :D

Citazione
.... questa soluzione che può essere adattata a qualunque formato si desideri
...però solo se l'immagine è sufficientementre piccola rispetto al ToolButton, altrimenti viene spostata in tutto o in parte al di fuori della maschera del ToolButton.
Si deve studiare meglio la parte generale per l'assegnazione della coordinata attinente al posizionamento del testo e dell'immagine.

Nel tuo codice modificherei così la riga della creazione dell'immagine trasparente base:
Codice: [Seleziona]
i = New Image(ToolButton1.W, ToolButton1.H, &FF0000FF)
altrimenti noto che l'immagine trasparente si mostra sporca.

A me questo non succede, nessuna di queste cose, o meglio mi succede come normalmente se inserisci una icona troppo grande (vedi immagine)  :-\
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 10 Gennaio 2016, 14:50:20
...
altrimenti noto che l'immagine trasparente si mostra sporca.

Intendi mica che si presenta così (vedi immagine allegata)?
Con le impostazioni QT4 non mi succede, ma senza se è il primo e prende il focus si e purtroppo il tuo escamotage non mi funziona.
Occorre che non sia il primo controllo, al limite si può inserire un controllo fittizio cattura focus di un px per lato che non si veda.
 :ciao:
Titolo: Re:ToolButton Text e Picture!
Inserito da: vuott - 10 Gennaio 2016, 14:56:53
Intendi mica che si presenta così (vedi immagine allegata)?
Con le impostazioni QT4 non mi succede, ma senza se è il primo e prende il focus si e purtroppo il tuo escamotage non mi funziona.
No, ottenevo una sorta di alone giallo. Usavo le QT4.
Titolo: Re:ToolButton Text e Picture!
Inserito da: Gianluigi - 10 Gennaio 2016, 15:19:55
Intendi mica che si presenta così (vedi immagine allegata)?
Con le impostazioni QT4 non mi succede, ma senza se è il primo e prende il focus si e purtroppo il tuo escamotage non mi funziona.
No, ottenevo una sorta di alone giallo. Usavo le QT4.

Secondo te l'alone potrebbe essere colpa del focus? Lo ottieni anche se non primo nella gerarchia dei controlli?