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 Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.