Excel e gli applicativi Microsoft Office Allineamento titolo user form

Login Registrati
Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
  • Autore
    Articoli
  • #22669 Score: 0 | Risposta

    ElleEsse
    Partecipante

      una curiosità..

      alla creazione di un user form, il titolo - quello definito nella proprietà Caption del user form stesso - viene visualizzato al centro..

      c'è modo di scegliere un altro tipo di allineamento - per esempio a sinistra ?

      ho googlato un po' sul web ma non ho trovato una proprietà apposita, però ho notato che parecchie immagini di user form propongono appunto il titolo a sinistra, ergo suppongo esista la possibilità

      grazie mille

       

      #22670 Score: 0 | Risposta

      patel
      Moderatore
        50 pts

        Con Excel 2010 il titolo è allineato a sinistra e non trovo il modo di cambiare a meno di inserire degli spazi

        #22671 Score: 0 | Risposta

        ElleEsse
        Partecipante

          ah.. io ho ancora il 2007  

          direi che l'allineamento a sinistra di default è più gestibile - come dici tu: per centrare basta aggiungere spazi a sinistra

           

           

          #22673 Score: 0 | Risposta

          alfrimpa
          Partecipante
            25 pts

            Un'altra ipotesi di soluzione è quella di visualizzare la userform senza barra del titolo (lo si può fare con le API di Windows) e simulare questa con una label dove è possibile centrare la caption.

            Alfredo

            #22684 Score: 0 | Risposta

            patel
            Moderatore
              50 pts

              ElleEsse ha scritto:

              direi che l'allineamento a sinistra di default è più gestibile - come dici tu: per centrare basta aggiungere spazi a sinistra

              e tu li puoi aggiungere a destra

              #22685 Score: 0 | Risposta

              ElleEsse
              Partecipante

                patel ha scritto:

                e tu li puoi aggiungere a destra

                ah beh.. certamente  

                per risolvere - quando necessario - avevo adottato questo modo

                Me.Caption = pbWorkbook + " - " + Me.Caption + Space(999)

                dove pbWorkbook è una variabile contenente il nome dell'excel - mi capita spesso di avere diverse versioni dello stesso, quindi preferisco evidenziare di quale si tratti..

                così facendo compaiono dei puntini sulla destra - a significare che in realtà il titolo sarebbe più lungo di qullo mostrato (già.. con 999 spazi.. ) - cui si potrebbe ovviare conteggiando precisamente gli spazi da aggiungere in base alla lunghezza del resto, ma ho notato che quel precisamente è tutt'altro che banale

                la curiosità era sul fatto che esistesse o meno la possibilità di definire l'allineamento del titolo - come esiste per qualsiasi altro oggetto  

                vabbè.. meno peggio questo rispetto ai listbox non rinfrescati

                #22716 Score: 0 | Risposta

                Marius44
                Moderatore
                  52 pts

                  Salve a tutti

                  Ho ripreso un vecchio lavoro di un amico di altro Forum che riporta una mia aggiunta che, forse, è quello che si cerca.

                  Ho fatto questo ragionamento: la larghezza della UserForm è in punti così come il valore di .Font.Size per i caratteri. Da una semplice divisione ricavo il centro ed il gioco è fatto.

                  Ma non è così semplice. Non mi spiegavo (e non mi spiego ancora) perchè, dai tentativi effettuati, occorre moltiplicare per 1,7 il risultato della divisione.

                  Questa la macro (la larghezza della UserForm è pari alla metà dello schermo)

                  Private Sub UserForm_Initialize()
                  'imposta la grandezza della UserForm
                  Me.Width = Application.Width / 2
                  'assume grandezza Font della UserForm
                  prec = Me.Font.Size
                  'imposta grandezza .Font.Size pari a 8
                  Me.Font.Size = 8
                  'calcola gli spazi necessari
                  spazi = Me.Width / Me.Font.Size * 1.7
                  'riporta grandezza Font al precedente
                  Me.Font.Size = prec
                  'crea stringa vuota
                  For i = 1 To spazi - Len(Me.Caption) / 2
                  vuota = vuota & " "
                  Next i
                  'imposta Caption al centro
                  newCap = vuota & Me.Caption
                  Me.Caption = newCap
                  End Sub

                   

                  Ciao,

                  Mario

                   

                  PS per Admin

                  Non capisco perchè la finestra per il VBA mi copre tutto lo schermo e non mi consente di tornare alla discussione.

                  Allegati:
                  You must be logged in to view attached files.
                  #22722 Score: 0 | Risposta

                  patel
                  Moderatore
                    50 pts

                    Marius44 ha scritto:

                    Non capisco perchè la finestra per il VBA mi copre tutto lo schermo e non mi consente di tornare alla discussione.

                    succede anche a me, devo usare F11 per il fullscreen

                    #22738 Score: 0 | Risposta

                    scossa
                    Partecipante
                      26 pts

                      Marius44 ha scritto:

                      Non mi spiegavo (e non mi spiego ancora) perchè, dai tentativi effettuati, occorre moltiplicare per 1,7 il risultato della divisione

                      Non ho letto tutto il thread né aperto il file, ma butto un'ipotesi: la risoluzione del tuo schermo? ed il rapporto tra width e height?

                       

                      #22739 Score: 0 | Risposta

                      Marius44
                      Moderatore
                        52 pts

                        Ciao a tutti

                        @scossa

                        Ciao Marco. Avevo pensato anch'io al rapporto height/width del carattere ma non sono riuscito a trovare nulla che indichi questa proporzione.

                        Sai darmi qualche indirizzo? Io ho trovato spiegazioni in questo sito: https://www.onlineprinters.it/blog/dimensione-carattere/

                        ma nulla a che vedere con la programmazione.

                         

                        Si, anche la risoluzione incide ma quello è tutto un altro discorso.

                        Ciao,

                        Mario

                        #22744 Score: 0 | Risposta

                        scossa
                        Partecipante
                          26 pts

                          Ciao Mario,

                          Marius44 ha scritto:

                          Sai darmi qualche indirizzo? Io ho trovato spiegazioni in questo sito: https://www.onlineprinters.it/blog/dimensione-carattere/

                          No, è solo una deduzione "istintiva" avendo presente che la risoluzione del mio pc è 1920 x 1080 con un rapporto di 1,777.

                          Bisognerebbe provare con un monitor impostato ad esempio su 800 x 600 se si debba mltiplicare 1,333

                        Login Registrati
                        Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
                        Rispondi a: Allineamento titolo user form
                        Gli allegati sono permessi solo ad utenti REGISTRATI
                        Le tue informazioni: