Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Tips & tricks

#127 - Hur man gör ett enkelt ritprogram

Postat 2000-12-21 23:31:02 av Pelle Johansson i Kategori Programmering, C#, Kommandon med 0 Kommentarer

' Sätter parameterlängd
Const PARAM_LEN = 10

' Dessa variabler används för att hålla reda på
' när du ritar din bild.
Dim iX As Integer, iY As Integer

Public Function sCurrentColor() As String
'
' Funktionen kontrollerar för att se vilken färgknapp som är
' vald när du ritar, Färgen returneras formatterad som en
' parameter.

Dim i As Integer
Dim sFormatStr As String

For i = 1 To PARAM_LEN
sFormatStr = sFormatStr & "0"
Next i

' Kontrollera alla färgerna för att finna den
' förgen som är markerad.
For i = 0 To picSelColor.UBound
If picSelColor(i).BorderStyle = 1 Then
sCurrentColor = Format(picSelColor(i).BackColor, sFormatStr)
Exit Function
End If
Next i

End Function

Private Sub cmdClear_Click(Index As Integer)

' Rensar bilden
picDraw.Cls

End Sub

Private Sub cmdEnd_Click()

' Avslutar programmet
Unload Me

End Sub

Private Sub picDraw_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

' Musen är över ritytan och musknappen är nertryckt.

Dim siX1 As String
Dim siY1 As String
Dim siX2 As String
Dim siY2 As String
Dim sFormatStr As String, sFormatStr2 As String
Dim i As Integer

' Positionerna för vad som skall ritas får längden av PARAM_LEN.
' Är koordinaterna negativa innehåller den "-" i början
For i = 1 To PARAM_LEN
sFormatStr = sFormatStr & "0"
Next i

For i = 1 To PARAM_LEN - 1
sFormatStr2 = sFormatStr2 & "0"
Next i

' Formatterar koordinaterna.
If X >= 0 Then
siX2 = Format(X, sFormatStr)
Else
siX2 = Format(X, sFormatStr2)
End If

If Y >= 0 Then
siY2 = Format(Y, sFormatStr)
Else
siY2 = Format(Y, sFormatStr2)
End If

' Ritar linjen. Eftersom musen just tryckts, så ritar vi
' en linje där du klickade på musknappen.
picDraw.Line (X, Y)-(X, Y), sCurrentColor

' Kom ihåg vart vi var så den nya linjen kan ritas
' och gå dit den tidigare linjen ritades.
iX = X
iY = Y

End Sub

Private Sub picDraw_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim siX1 As String
Dim siY1 As String
Dim siX2 As String
Dim siY2 As String
Dim sFormatStr As String, sFormatStr2 As String
Dim i As Integer

If Button = vbLeftButton Then
' Musknappen trycktes och musen flyttas
' över ritytan.

' Positionerna opå linjen som skall ritas formatteras
For i = 1 To PARAM_LEN
sFormatStr = sFormatStr & "0"
Next i
For i = 1 To PARAM_LEN - 1
sFormatStr2 = sFormatStr2 & "0"
Next i

' Formatterar koordinaterna.
' Nu ritas linjen från föregående position
' till denna. (Se MouseDown händelsen.)
If iX >= 0 Then
siX1 = Format(iX, sFormatStr)
Else
siX1 = Format(iX, sFormatStr2)
End If
If iY >= 0 Then
siY1 = Format(iY, sFormatStr)
Else
siY1 = Format(iY, sFormatStr2)
End If
If X >= 0 Then
siX2 = Format(X, sFormatStr)
Else
siX2 = Format(X, sFormatStr2)
End If
If Y >= 0 Then
siY2 = Format(Y, sFormatStr)
Else
siY2 = Format(Y, sFormatStr2)
End If

' Rita linjen
picDraw.Line (iX, iY)-(X, Y), sCurrentColor

' Kom ihåg vart vi avslutade, så vi kan ansluta
' till den punkten nästa gång.
iX = X
iY = Y
End If
End Sub

Private Sub picSelColor_Click(Index As Integer)
Dim i As Integer
For i = 0 To picSelColor.UBound
picSelColor(i).BorderStyle = 0
Next i
picSelColor(Index).BorderStyle = 1
End Sub

Sample: ritbord.zip
Size: 2,62 kB

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 158
27 952
271 704
795
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies