salve ragazzi, ciao modereatori,

allora... sto uscendo matto.
Dovendo disegnare le quote sui bordi di un rettangolo in una picture,
sto lavorando al posizionamento del testo.

Ho impostato il seguente sistema di coordinate

'-------------------------------------------------------------------
Lx = 500
Ly = 2000

With Picture1
.Cls
.AutoRedraw = True

.Width = 400
.Height = 400

margine = 0.5 * Picture1.Height 'Distanza dai margini = % dell'altezza della picture

.ScaleWidth = Ly + margine
.ScaleHeight = -(Ly + margine)

.ScaleLeft = -.ScaleWidth / 2
.ScaleTop = -.ScaleHeight / 2

End With
'-------------------------------------------------------------------

Con

picture1.currentX = 0
picture1.currentY = 0
picture1.print "quota"

posiziono l'angolo in alto a sinistra della scritta "quote" nell'origine 0,0 del sistema di riferimento.

se volessi posizionare invece dell'angolo superiore sinistro il centro della scritta "quota" scriverei:


picture1.currentX = -TextWidth ("quota")/2
picture1.currentY = 0
picture1.print "quota"


Il problema è che il testo "quota" non si sposta a metà, ma solo di un pezzettino.
Credo che il problema sia su come si gestiscono le unità all'interno della picture ma non c'ho capito nulla.....
sto provando ad usare

ScaleX (textwidth("quota"), vbUser, vbTwips)

o

ScaleX (textwidth("quota"), vbPoints, vbTwips)

ma senza alcun risultato.

L'impostazione del sistema di riferimento cambia il modo di gestire le unità ma
quando vado a spostare a sinistra con currentX il testo "quota" a metà della sua larghezza
questo non si posiziona perfettamente a metà !!!

Qualcuno può aiutarmi ?
dove sto sbagliando ???
grazie anticipatamente