Kreslení přímky uživatelem?   zodpovězená otázka

VB.NET, Grafika

Ahoj,

chtěl bych se zeptat jak lze docílit toho aby když mam prázdné plátno, a uživatel kliknul na jedno místo a pak na druhé aby se mezitim vytvořila přímka?

Děkuji

jinak mám VB. NET 2008

//hledal jsem hodně, ale nějak se mi to nepodařilo najít :(

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Používání GDI je popsáno tady:

http://vbnet.cz/clanek--47-vb_net_od_zac...

Co přesně Vám nejde? Projděte si seriál pro začátečníky. Tam je vše popsané.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

tohle je mi jasné

mě jde o to že už mam puštěnou aplikaci, kde je prázdné plátno a když někam kliknu tak to udělá jako by x1, y1 a když kliknu po druhé tak to udělá x2,y2, a mezi těmito body mi to vytvoří přímku.

Nic takového tu nikde není popsáno bohužel

doufám, že jste mě pochopil

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Toto som načmáral narýchlo dúfam, že to aspoň trochu pomôže.

Public Class Form1
    Private Structure myLineStr
        Dim x, y As System.Collections.Generic.Stack(Of Integer)
    End Structure
    Dim line As myLineStr
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        line.x = New System.Collections.Generic.Stack(Of Integer)
        line.y = New System.Collections.Generic.Stack(Of Integer)
    End Sub
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
        line.x.Push(e.X)
        line.y.Push(e.Y)
        If line.x.Count >= 2 Then Me.Invalidate()
    End Sub
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        If line.x.Count >= 2 And line.y.Count >= 2 Then
            Dim p As New Pen(Color.Blue, 3)
            If Not e.Graphics Is Nothing Then e.Graphics.DrawLine(p, _
                                 line.x.Pop, _
                                 line.y.Pop, _
                                 line.x.Pop, _
                                 line.y.Pop)
        End If
    End Sub
End Class

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

jj, díky moc, přesně něco takového jsem myslel :-)

ještě jednou dík

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nezapomínejte prosím označovat příspěvky, které odpověděli na Váš dotaz jako odpověď.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback