Excel e gli applicativi Microsoft Office Allineamento titolo user form

LoginRegistrati
Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
  • Autore
    Articoli
  • #22669 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 Risposta
      patel
      patel
      Moderatore
      • Sfida #6
        34 pts

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

        #22671 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 Risposta
          alfrimpa
          alfrimpa
          Partecipante
            13 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 Risposta
            patel
            patel
            Moderatore
            • Sfida #6
              34 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 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 Risposta
                Marius44
                Marius44
                Moderatore
                • Sfida #4
                  12 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 Risposta
                  patel
                  patel
                  Moderatore
                  • Sfida #6
                    34 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 Risposta
                    scossa
                    scossa
                    Partecipante
                    • Sfida #5
                      2 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 Risposta
                      Marius44
                      Marius44
                      Moderatore
                      • Sfida #4
                        12 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 Risposta
                        scossa
                        scossa
                        Partecipante
                        • Sfida #5
                          2 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

                        LoginRegistrati
                        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:



                        vecchio frac - 2750 risposte

                        albatros54
                        albatros54 - 791 risposte

                        patel
                        patel - 689 risposte

                        Marius44
                        Marius44 - 592 risposte

                        Luca73
                        Luca73 - 553 risposte