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
Re: Punkt in Dreieck 
Autor: Zardoz
Datum: 03.01.08 15:37

Hi Weltraumputze,
probier mal dieses:
Option Explicit
 
Private Type POINTAPI
  x As Long
  y As Long
End Type
 
Private Declare Function PtInRegion Lib "gdi32" (ByVal hRgn As Long, ByVal x As _
  Long, ByVal y As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINTAPI, _
ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As _
Long
Private Declare Function Polygon& Lib "gdi32" (ByVal hdc&, lpPoint As POINTAPI, _
ByVal nCount&)
 
Private Const ALTERNATE& = 1
 
Private Rgn1&
 
Private Sub Form_Load()
  Dim i%, PtLst(2) As POINTAPI
 
  ' Eckpunkte des Dreiecks eintragen
  For i = 0 To 2
    PtLst(i).x = Choose(i + 1, 50, 150, 90)
    PtLst(i).y = Choose(i + 1, 50, 70, 150)
  Next i
 
  Rgn1 = CreatePolygonRgn(PtLst(0), 3, ALTERNATE)
  With Me
    .ScaleMode = vbPixels
    .AutoRedraw = True
    .FillColor = vbYellow
    .ForeColor = vbBlack
    .FillStyle = vbFSSolid
    Call Polygon(.hdc, PtLst(0), 3)
  End With
End Sub
 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y _
  As Single)
  If PtInRegion(Rgn1, x, y) <> 0 Then
    Me.Caption = Space$(5) & "Punkt im Dreieck"
  Else
    Me.Caption = Space$(5) & "Punkt außerhalb"
  End If
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
  Call DeleteObject(Rgn1)
End Sub

Gruss,

Zardoz

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Punkt in Dreieck1.489Weltraumputze03.01.08 10:55
Re: Punkt in Dreieck1.057VBMichi03.01.08 12:22
Re: Punkt in Dreieck1.427Zardoz03.01.08 15:37

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