Moi!
Minulla on sellainen ongelma, että pitäisi saada esim. piirakkadiagrammi kuvaamaan tiettyjen textboxien arvoja.
Miten tällainen systeemi kannattaisi toteuttaa. Saisinko esimerkin kyseisestä lähdekoodista? Kiitos.
Tässä on yksinkertainen esimerkki asiasta. Ohjelman toiminta perustuu trigonometrisiin funktioihin, joiden avulla saadaan tietoon ympyrän kehällä olevan pisteen paikka kulman perusteella. Kulmat ovat radiaaneina, jolloin täysi ympyrä on 2 * PII radiaania.
'tätä funktiota tarvitaan alueen täyttämiseen
Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long, ByVal wFillType As Long) As Long
Const PII = 3.14159
Private Sub Form_Click()
'mittayksiköksi pikseli
ScaleMode = 3
Dim x As Long, i As Integer, yht As Integer
Dim a As Single, l As Single
Dim tiedot() As Variant
'diagrammin arvot
tiedot = Array(27, 39, 10, 23, 33)
'lasketaan arvojen yhteissumma
For i = 0 To UBound(tiedot)
yht = yht + tiedot(i)
Next
'piirretään piirakan pohjana oleva ympyrä
Circle (100, 100), 80
a = 0
'tästä lähtien kuviot täytetään
FillStyle = 0
For i = 0 To UBound(tiedot)
'lasketaan uusi lopetuskohta
l = a + tiedot(i) / yht * 2 * PII
'määritetään piirakan osan väri
FillColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
'vedetään alueen reunaviivat
Line (100, 100)-(100 + Sin(a) * 80, 100 + Cos(a) * 80)
Line (100, 100)-(100 + Sin(l) * 80, 100 + Cos(l) * 80)
'täytetään alue
x = ExtFloodFill(Me.hdc, 100 + Sin((a + l) / 2) * 20, 100 + Cos((a + l) / 2) * 20, 0, 0)
'nykyinen lopetuskohta on seuraavalla kerralla aloituskohta
a = l
Next
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.