none
Componente em que o mouse clicou RRS feed

  • Discussão Geral

  • Coloquei esse codigo no programa:

        Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    
            Dim t As New PictureBox
            t.BackColor = Color.Azure
            t.Top = 0
            t.Left = 300
            t.Visible = True
            Me.Controls.Add(t)
        End Sub

    Apos o clique ficou assim:

    Alguma sugestao para quando eu clicar em cima do picturebox eu consiga pegar o nome 

    do picturebox para usar em outros codigos, como mover, aumentar, trocar imagem etc.?

    Grato.


    Laercio Tersi


    • Editado Marcos SJ segunda-feira, 16 de maio de 2016 16:54 Edição
    • Tipo Alterado Marcos SJ segunda-feira, 16 de maio de 2016 16:54 How to
    domingo, 15 de maio de 2016 16:27

Todas as Respostas

  • Aqui amigo espero que ajude vc :)

    Codigo

    Public Class Form1
    
        Dim WithEvents t As PictureBox = New PictureBox
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            t.BackColor = Color.Azure
            t.Name = "PictureBox1"
            t.BackgroundImageLayout = ImageLayout.Zoom
            t.Top = 0
            t.Left = 300
            t.Visible = True
            Me.Controls.Add(t)
        End Sub
    
        Private Sub t_Click(sender As Object, e As EventArgs) Handles t.Click
            MsgBox(sender.GetType.Name.ToString)
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            CType(t, PictureBox).Top = 20
            CType(t, PictureBox).Top = 250
            CType(t, PictureBox).Image = Image.FromFile("C:\Users\Pjoao1578\Desktop\Icones\My image.png")
        End Sub
    End Class
    

    domingo, 15 de maio de 2016 19:03
  • então, estamos quase la, veja o programa já coloca uma picturebox e já move o picture box, porem preciso que

    quando clicar no mesmo botão ele coloque outro pircturebox e mova o também, e se clicar de novo vai colocoar outro picturebox, a unica coisa que vai mudar que vou colocar um openfiledialog para eu poder escolher varias imagens no meu pc, depois também vou ter que colocoar a opção de deletar um dos picturebox.

    O código inteiro está assim:

    Public Class Form1
        Dim WithEvents t As PictureBox = New PictureBox 'declaracao do t
    
    
        'inicio codigos para mover picturebox
        Private Const WM_NCLBUTTONDOWN = &HA1
        Private Const HTCAPTION = 2
    
        Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                     (ByVal hwnd As Integer, ByVal wMsg As Integer, _
                      ByVal wParam As Integer, ByVal lParam As String) As Integer
        Private Declare Sub ReleaseCapture Lib "user32" ()
        'fim dos codigos para mover picturebox
    
    
        'botao que coloca o picturebox 
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            t.BackColor = Color.Azure
            t.Name = "PictureBox1"
            t.BackgroundImageLayout = ImageLayout.Zoom
            t.ImageLocation = "C:\teste.png"
            t.Top = 0
            t.Left = 300
            t.Visible = True
            Me.Controls.Add(t)
        End Sub
    
    
        'Deslocamento da PictureBox 
        Private Sub t_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles t.MouseMove
            Dim lHwnd As Int32
            lHwnd = t.Handle
            If lHwnd = 0 Then Exit Sub
            ReleaseCapture()
            SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
        End Sub
    
    End Class


    Laercio Tersi

    domingo, 15 de maio de 2016 19:58
  • Deixa ve se tendi, vc quer apertar em um buttao e criar outra picturebox e movela ? 
    domingo, 15 de maio de 2016 21:20
  • isso

    e se apertar 10 vezes o mesmo botao ele insere 10 umagens

    tipo aque botao do word: inserir imagem


    Laercio Tersi

    domingo, 15 de maio de 2016 21:24
  • Assim

    Codigo

    Public Class Form1
        Dim WithEvents t As PictureBox = New PictureBox 'declaracao do t
    
    
        'inicio codigos para mover picturebox
        Private Const WM_NCLBUTTONDOWN = &HA1
        Private Const HTCAPTION = 2
    
        Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                     (ByVal hwnd As Integer, ByVal wMsg As Integer, _
                      ByVal wParam As Integer, ByVal lParam As String) As Integer
        Private Declare Sub ReleaseCapture Lib "user32" ()
        'fim dos codigos para mover picturebox
    
    
        'botao que coloca o picturebox 
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            t = New PictureBox
            t.BackColor = Color.Azure
            t.Name = "PictureBox1"
            t.BackgroundImageLayout = ImageLayout.Zoom
            t.ImageLocation = "C:\teste.png"
            t.Top = 0
            t.Left = 300
            t.Visible = True
            Me.Controls.Add(t)
        End Sub
    
    
        'Deslocamento da PictureBox 
        Private Sub t_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles t.MouseMove
            Dim lHwnd As Int32
            lHwnd = t.Handle
            If lHwnd = 0 Then Exit Sub
            ReleaseCapture()
            SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
        End Sub
    End Class

    domingo, 15 de maio de 2016 21:41
  • entao, o problema e que quando  clicar uma imagem tem que alterar de lugar de novo


    Laercio Tersi

    domingo, 15 de maio de 2016 22:01
  • E vc quer por a imagem a onde ?
    domingo, 15 de maio de 2016 22:03
  • eu estou fazendo um paint com mais recursos, então voce pode arrastar a imagem em varios

    lugares tipo power point, corel draw


    Laercio Tersi

    segunda-feira, 16 de maio de 2016 00:22