12/04/09 12:03
magicolotto
Tecnicamente ho capito, ma vallo a fare....
esempio
coordinata del 1° label :
(Label(1).Left, Label(1).Top)
da qui come dovrei comportarmi?
aaa
12/04/09 13:15
ruggy94
io ti posto il procedimento ma me l'aspettavo più semplice, infatti non viene un cerchio perfetto:
Dim x As Int32
Dim s As Double
Private Sub Button1_Click() 'ad esempio
x = tre.X
s = 1
For Y As Int32 = tre.Y To sei.Y Step (sei.Y - tre.Y) / 22
'disegna label
s -= 0.4
x += s
Next
s = 1
x = nove.X
For y As Int32 = nove.Y To sei.Y Step (sei.Y - nove.Y) / 22
'disegna label
s -= 0.4
x -= s
Next
End Sub
Allora...al posto di disegna label chiaramente va il codice per disegnare la label e poi il codice così come è non funziona, perchè trovi quei nove.Y, sei.y e tre.Y che daranno errore. Ti spiego cosa indicano. Dato che sei tu a scegliere la grandezza del cerchio, una volta che avrai deciso dove posizionare il 12, il 3, il 6 ed il 9 (parlo sempre del cerchio come un orologio), nove.Y (ad esempio) indicherà la coordinata Y del punto del 9, così come tre.Y indicherà la coordinata Y del punto dove si trova il 3 (ho fatto così perchè programmo in VB.NET e lì è un po' diverso).
Ti consiglio comunque di aspettare ancora un po' (se non è urgentissimo) che intanto cerco di trovare una soluzione più leggera e semplice. Tra poco posterò di nuovo per dirti se ho trovato una soluzione migliore.
EDIT: Scarica questo sorgente di orologio analogico proprio da pierotofy.it:
pierotofy.it/pages/…
Utilizza la trigonometria (seno e coseno di angoli) per far girare le lancette intorno al proprio estremo (considerando le lancette come segmenti). Nel sorgente troverai due coordinate x e y. Queste coordinate girano in cerchio quindi prova a sfruttarle (chiaramente togliendo tutto il codice che non serve perchè fa parte dell'orologio) per posizionare le tue label. Dimmi se ci riesci.
Ultima modifica effettuata da ruggy94 12/04/09 13:38
aaa
12/04/09 16:43
theprogrammer
Per posizionare oggetti su una circonferenza, il metodo piu' corretto e' disegnare il cerchio trigonometrico.
Usi il seno e il coseno in un ciclo da 0 a 2 pigreco radianti in un numero di passi che vuoi.
aaa