mä haluaisin tuoda kysyä uudestaa:
miten saan tehtyä mittarin joka samalla tyylillä kuin autossa (ei digitaali)
Yleensä saman asian kysyminen uudestaan ei tuo tulosta, mutta tämä poikkeus vahvistaa säännön. Seuraavassa on PiirraNopeusMittari-aliohjelma sekä sen käyttöesimerkki. Toimii VB6:lla ja vähäisin muutoksin vanhemmillakin.
Private Const PII = 3.1415926 'piirtää nopeusmittarin ' x = aloituspaikan x-koordinaatti ' y = aloituspaikan y-koordinaatti ' l = mittarin leveys ' k = mittarin korkeus ' maksimi = mittarin asteikon maksimikohta ' kohta = mittarin viisarin tämänhetkinen kohta Sub PiirraNopeusMittari(x As Integer, y As Integer, l As Integer, k As Integer, maksimi As Integer, kohta As Integer) Dim i As Single, j As Integer 'piirretään alareunan vaakaviiva Line (x, y + k)-(x + l, y + k), 0 'piirretään harmaat viivat For i = PII / 2 To PII + PII / 2 Step 0.1 Line ((x + l / 2) + Sin(i) * (l / 2), (y + k) + Cos(i) * k)-((x + l / 2) + Sin(i) * (l / 2) * 0.95, (y + k) + Cos(i) * k * 0.95), RGB(127, 127, 127) Next 'piirretään kaari For i = PII / 2 To PII + PII / 2 Step 0.01 PSet ((x + l / 2) + Sin(i) * (l / 2), (y + k) + Cos(i) * k), 0 Next 'kirjoitetaan nopeudet For j = 0 To maksimi Step maksimi / 14 i = PII / 2 + PII + (j / maksimi) * PII CurrentX = (x + l / 2) + Sin(i) * (l / 2) * 1.1 - TextWidth(j) / 2 - 4 CurrentY = (y + k) + Cos(i + PII) * k * 1.1 - TextHeight(j) / 2 Print Int(j / 10 + 1) * 10 Next 'piirretään "viisari" i = PII / 2 + PII + (kohta / maksimi) * PII Line (x + l / 2, y + k)-((x + l / 2) + Sin(i) * (l / 2), (y + k) + Cos(i + PII) * k), RGB(255, 0, 0) End Sub Private Sub Form_Click() Dim i As Single AutoRedraw = True 'estää vilkkumisen ScaleMode = 3 'pikselit '"nopeuden kiihtyminen 60:sta 120:een km/h" For i = 60 To 120 Step 0.1 Line (50, 50)-Step(220, 100), BackColor, BF PiirraNopeusMittari 50, 50, 220, 100, 240, (i) DoEvents Next End Sub
Kiide!!
Aihe on jo aika vanha, joten et voi enää vastata siihen.