Autore Topic: ToolButton Text e Picture!  (Letto 764 volte)

Offline luca.decarlo

  • Gamberetto
  • *
  • Post: 49
    • Mostra profilo
ToolButton Text e Picture!
« il: 08 Gennaio 2016, 12:31:53 »
Ma è possibile che nel controllo Toolbutton, non posso mettere il testo sotto l'immagine???  :o :o :o

Luca

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #1 il: 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 .
« Ultima modifica: 08 Gennaio 2016, 15:38:24 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #2 il: 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
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #3 il: 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
« Ultima modifica: 08 Gennaio 2016, 15:49:08 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #4 il: 08 Gennaio 2016, 15:55:47 »
Si dovrebbe poter scrivere anche in una Picture  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #5 il: 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
« Ultima modifica: 08 Gennaio 2016, 16:03:10 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #6 il: 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?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #7 il: 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 .
« Ultima modifica: 08 Gennaio 2016, 16:12:04 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #8 il: 08 Gennaio 2016, 16:17:12 »
Nel primo post lui parla di immagine sopra il testo.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #9 il: 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
« Ultima modifica: 08 Gennaio 2016, 16:32:22 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #10 il: 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  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #11 il: 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.   
« Ultima modifica: 08 Gennaio 2016, 16:56:21 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #12 il: 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
« Ultima modifica: 08 Gennaio 2016, 17:52:16 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #13 il: 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.
« Ultima modifica: 08 Gennaio 2016, 18:29:17 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:ToolButton Text e Picture!
« Risposta #14 il: 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)  :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro