vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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

Fortgeschrittene Programmierung
Re: Line Problem / + Clickspot in gedrehtem Rechteck? 
Autor: Zardoz
Datum: 20.12.03 05:12

Hallo Andi,
ich meinte nicht, das Du das 1:1 übernehmen kannst, sondern das Du nach dem
verwendeten Verfahren vorgehen sollst. Probier mal dieses:
Option Explicit
'Benötigt werden 2 Pictureboxen.
 
Private Type PointAPI
  X As Long
  Y As Long
End Type
 
Private Declare Function Polygon& Lib "gdi32" (ByVal hdc&, _
  lpPoint As PointAPI, ByVal nCount&)
 
Private Sub Form_Activate()
 
Dim i%, j%, Breite%, Höhe&, PX%(3), PY%(3), Pi!
Dim Fgr(3) As PointAPI, Wnk1!, XOff%, YOff%
 
Me.WindowState = vbMaximized
Me.ScaleMode = vbPixels
Breite = 60
Höhe = 40
For i = 0 To 1
  For j = 0 To 1
    PX(2 * i + j) = Breite * i - Breite \ 2
    PY(2 * i + j) = Höhe * (i Xor j) - Höhe \ 2
  Next j
Next i
Pi = 4 * Atn(1)
Randomize
With Picture2
  .Visible = False
  .ScaleMode = vbPixels
  .AutoRedraw = True
  .Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
  .BackColor = vbBlack
  .FillStyle = 0
End With
With Picture1
  .ScaleMode = vbPixels
  .AutoRedraw = True
  .Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
  .BackColor = vbBlack
  .FillStyle = 0
  For i = 1 To 30
    XOff = Breite + Rnd * (.ScaleWidth - 2 * Breite)
    YOff = Breite + Rnd * (.ScaleHeight - 2 * Breite)
    Wnk1 = Rnd * 2 * Pi
    For j = 0 To 3
      Fgr(j).X = XOff + Cos(Wnk1) * PX(j) - Sin(Wnk1) * PY(j)
      Fgr(j).Y = YOff + Sin(Wnk1) * PX(j) + Cos(Wnk1) * PY(j)
    Next j
    .ForeColor = RGB(64, 64, 64)
    .FillColor = Choose(1 + Rnd * 3, vbRed, vbBlue, vbMagenta)
    Polygon .hdc, Fgr(0), 4
    .ForeColor = vbWhite
    .CurrentX = XOff
    .CurrentY = YOff
    Picture1.Print i
    Picture2.ForeColor = i
    Picture2.FillColor = i
    Polygon Picture2.hdc, Fgr(0), 4
  Next i
End With
 
End Sub
 
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As _
  Single, Y As Single)
 
Dim Ix&, AG$
 
Ix = Picture2.Point(X, Y)
If Ix > 0 Then
  AG = "Mauszeiger auf Rechteck Nr. " & Ix
Else
  AG = "Leere Stelle"
End If
Me.Caption = Space(50) & AG
 
End Sub

Gruss,

Zardoz

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Line Problem / + Clickspot in gedrehtem Rechteck?932RiverRaid18.12.03 09:19
Re: Line Problem / + Clickspot in gedrehtem Rechteck?534Zardoz18.12.03 14:41
Re: Line Problem / + Clickspot in gedrehtem Rechteck?513RiverRaid19.12.03 02:49
Re: Line Problem / + Clickspot in gedrehtem Rechteck?494Zardoz19.12.03 15:46
Re: Line Problem / + Clickspot in gedrehtem Rechteck?481RiverRaid19.12.03 18:37
Re: Line Problem / + Clickspot in gedrehtem Rechteck?1.282Zardoz20.12.03 05:12
Re: Line Problem / + Clickspot in gedrehtem Rechteck?521RiverRaid20.12.03 22:28
DANKE!!!!! SUPER!!!503RiverRaid27.12.03 00:42
Re: Line Problem / + Clickspot in gedrehtem Rechteck?544Danzi20.12.03 10:54
Re: Line Problem / + Clickspot in gedrehtem Rechteck?469RiverRaid20.12.03 22:27
Re: Line Problem / + Clickspot in gedrehtem Rechteck?485Danzi25.12.03 18:10
Re: Line Problem / + Clickspot in gedrehtem Rechteck?486RiverRaid26.12.03 19:56
Re: Line Problem / + Clickspot in gedrehtem Rechteck?481Danzi26.12.03 22:20

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