vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Musterloesung Aufgabe 2 
Autor: skydeck
Datum: 22.06.05 07:31

' benoetigt:
' - 4 CommandButtons (Command1 ... Command4)
' - 1 Picture
 
Option Explicit
 
Private MouseFlag As Boolean
Private FigureFlag As String
Private x_Hilf#, y_Hilf#
Private Farbe As Long
 
Private Sub Form_Load()
    Command1.Caption = "Kreis": Command1.Width = 1000
    Command2.Caption = "Linie": Command2.Width = 1000
    Command3.Caption = "Rechteck": Command3.Width = 1000
    Command4.Caption = "CLS": Command4.Width = 1000
 
    Picture1.ScaleMode = vbPixels
    Picture1.AutoRedraw = True
 
    Farbe = vbRed
End Sub
 
Private Sub Form_Resize()
    Dim Rand#
    Rand = Me.ScaleHeight * 0.02
 
    ' Buttons ausrichten
    Command1.Top = Rand
    Command1.Left = Me.ScaleWidth - Me.Command1.Width - Rand
 
    Command2.Top = Command1.Top + Command1.Height + Rand
    Command2.Left = Command1.Left
 
    Command3.Top = Command2.Top + Command2.Height + Rand
    Command3.Left = Command2.Left
 
    Command4.Top = Command3.Top + Command3.Height + Rand
    Command4.Left = Command3.Left
 
    ' Picture ausrichten
    Picture1.Left = Rand
    Picture1.Top = Rand
    Picture1.Width = Command1.Left - 2 * Rand
    Picture1.Height = Me.ScaleHeight - 2 * Rand
End Sub
 
Private Sub Command1_Click()
    FigureFlag = "Kreis"
    MouseFlag = False
End Sub
Private Sub Command2_Click()
    FigureFlag = "Linie"
    MouseFlag = False
End Sub
Private Sub Command3_Click()
    FigureFlag = "Rechteck"
    MouseFlag = False
End Sub
Private Sub Command4_Click()
    Picture1.Cls
End Sub
 
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As _
  Single, Y As Single)
 
    If Button = 1 Then
        Select Case FigureFlag
            Case Is = "Kreis"
                Call zeichne_Kreis(X, Y)
 
            Case Is = "Linie"
                Call zeichne_Linie(X, Y)
 
            Case Is = "Rechteck"
                Call zeichne_Rechteck(X, Y)
        End Select
    End If    
End Sub
 
Private Sub zeichne_Kreis(mx, my)
    Dim Radius#
 
    If MouseFlag = False Then
        Picture1.PSet (mx, my), Farbe
        x_Hilf = mx: y_Hilf = my
        MouseFlag = Not (MouseFlag)
    Else
        Radius = Sqr((mx - x_Hilf) ^ 2 + (my - y_Hilf) ^ 2)
        Picture1.Circle (x_Hilf, y_Hilf), Radius, Farbe
        MouseFlag = Not (MouseFlag)
        FigureFlag = ""
    End If
End Sub
 
Private Sub zeichne_Linie(mx, my)
    If MouseFlag = False Then
        Picture1.PSet (mx, my), Farbe
        x_Hilf = mx: y_Hilf = my
        MouseFlag = Not (MouseFlag)
    Else
        Picture1.Line (mx, my)-(x_Hilf, y_Hilf), Farbe
        MouseFlag = Not (MouseFlag)
        FigureFlag = ""
    End If
End Sub
 
Private Sub zeichne_Rechteck(mx, my)
    If MouseFlag = False Then
        Picture1.PSet (mx, my), Farbe
        x_Hilf = mx: y_Hilf = my
        MouseFlag = Not (MouseFlag)
    Else
        Picture1.Line (mx, my)-(x_Hilf, y_Hilf), Farbe, BF
        MouseFlag = Not (MouseFlag)
        FigureFlag = ""
    End If
End Sub
ok, ist nicht ganz die Musterloesung fuer diese Aufgabe. Schmeiss den ueberfluessigen Code einfach raus.

Gru

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Maus/Tastatur ---> Zeichnen816Fafi17.06.05 19:55
Re: Maus/Tastatur ---> Zeichnen426sico17.06.05 21:28
Re: Maus/Tastatur ---> Zeichnen463Fafi18.06.05 02:06
Re: Maus/Tastatur ---> Zeichnen434CyberDreams18.06.05 02:47
Re: Maus/Tastatur ---> Zeichnen517Fafi18.06.05 15:29
Re: Maus/Tastatur ---> Zeichnen439CyberDreams18.06.05 16:20
Re: Maus/Tastatur ---> Zeichnen453Fafi18.06.05 20:16
Re: Maus/Tastatur ---> Zeichnen431Fafi18.06.05 20:20
Re: Maus/Tastatur ---> Zeichnen465Stefanie19.06.05 14:46
Re: Maus/Tastatur ---> Zeichnen437Fafi19.06.05 15:43
Musterloesung Aufgabe 1418skydeck22.06.05 07:27
Musterloesung Aufgabe 2438skydeck22.06.05 07:31
Re: Musterloesung Aufgabe 2420Fafi22.06.05 15:33
Re: Musterloesung Aufgabe 2404skydeck23.06.05 08:03
Re: Musterloesung Aufgabe 2430Fafi23.06.05 10:39

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel