Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [VB] Poligni

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    [VB] Poligni

    Date 3 o più coordinate (tipo 10,50 - 20,56 - 56,89 - ....) come determino nell'evento MouseMove di una PictureBox se il puntatore si trova all'interno del poligono formato dall'unione dei punti delle coordinate?

    è imporatante grazie

    Hey hey, my my Rock and roll can never die!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    up please

    Hey hey, my my Rock and roll can never die!

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    aaaahhhhhrrrrrrrrggggggg sto cercando di farmi venire un'esaurimento con le Api (che non ho mai usato prima d'ora)

    PtInRegion

    CreatePolygonRgn

    almeno mi dite se sono sulla strada giusta...



    Hey hey, my my Rock and roll can never die!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    Hey hey, my my Rock and roll can never die!

  5. #5
    ti conviene fare una ricerca riguardante la programmazione grafica.. adesso non ricordo la routine necessaria, comunque sappi che c'è una certa differenza tra un poligono costituito da 3 o più punti.. infatti se i punti sono tre il poligono non è sicuramente concavo quindi il problema risulta abbastanza semplice, se i punti sono di + potrebbe risultare concavo e le cose si complicano...

    forse però le API che stai cercando di usare tu gestiscono da sole questi casi, ma purtroppo non le conosco...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Wild dove sei???!!!

    Hey hey, my my Rock and roll can never die!

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Wild Ans dove siete quando c'è bisogno di voi?


    Hey hey, my my Rock and roll can never die!

  8. #8
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    Questo potrebbe esserti utile:

    Crea un progetto vuoto

    interfaccia grafica:

    il form1 con proprietà AutoRedraw=true, ScaleMode=3 - Pixel e DrawStyle=0 - Solid
    un controllo timer1 con le proprieta intervall=1 e enabled=true
    un command1 con proprietà caption="Controlla se il punto si trova all'interno del poligono"

    incolla questo codice

    '--------------da quì---------------------------
    Option Explicit
    Dim x1, y1
    Private Type POINTAPI
    X As Long
    Y As Long
    End Type
    Private Coordinate As POINTAPI
    Private Declare Function GetCursorPos Lib "User32.dll" (lpPoint As POINTAPI) As Long
    Private Declare Function SetCursorPos Lib "User32.dll" (ByVal X As Long, ByVal Y As Long) As Long

    Private Sub Command1_Click()
    If x1 = 1000 Or y1 = 1000 Then
    MsgBox ("Nessun punto è stato disegnato!")
    Exit Sub
    End If
    If x1 > 5 And x1 < 295 And y1 > 5 And y1 < 196 Then MsgBox ("Il punto è dentro il poligono"): Exit Sub
    MsgBox ("Il punto è fuori del poligono")
    End Sub


    Private Sub Form_Load()
    Line (5, 5)-(300, 5), QBColor(15)
    Line (5, 5)-(5, 200), QBColor(15)
    Line (300, 200)-(5, 200), QBColor(15)
    Line (300, 200)-(300, 5), QBColor(15)
    x1 = 1000: y1 = 1000
    End Sub

    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim CX, CY
    DrawWidth = 5
    FontSize = 24
    CX = ScaleWidth / 2
    CY = ScaleHeight / 2
    Coordinate.X = Coordinate.X - CX
    Coordinate.Y = Coordinate.Y - CY

    PSet (x1, y1), QBColor(7)
    x1 = Coordinate.X
    y1 = Coordinate.Y
    PSet (Coordinate.X, Coordinate.Y), QBColor(9)
    DrawWidth = 1
    End Sub

    Private Sub Timer1_Timer()
    Dim Esegui As Long
    Esegui = GetCursorPos(Coordinate)
    End Sub
    '--------a quì----------------------------------




    link
    homepage
    http://%77%77%77%2e%74%77%6f%72%6b%2e%69%74/
    software
    http://%77%77%77%2e%74%77%6f%72%6b%2...programmi.html
    forum
    http://%77%77%77%2e%74%77%6f%72%6b%2...um/default.asp

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.